Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision Next revisionBoth sides next revision | ||
| toh:tp-link:tl-sg2210p_v3 [2023/09/08 21:24] – Created from the form at meta:create_new_device_page mrnuke | toh:tp-link:tl-sg2210p_v3 [2024/07/17 16:15] – [OEM installation using the TFTP method] mrnuke | ||
|---|---|---|---|
| Line 7: | Line 7: | ||
| {{page> | {{page> | ||
| - | //Write a short, relevant description of the device. Include a technical overview, but avoid marketing buzzwords/ | + | The TP-Link TL-SG2210P v3 is an RTL8380M based switch with two SFP slots, and PoE 802.3af on all eight RJ-45 ports. |
| - | + | ||
| - | <WRAP BOX> | + | |
| - | FIXME Any text with a light background (like this one) provides instructions for creating the Details Page. When you have filled in correct/ | + | |
| - | </ | + | |
| /*****/ | /*****/ | ||
| Line 18: | Line 14: | ||
| {{media: | {{media: | ||
| - | |||
| - | <WRAP BOX> | ||
| - | FIXME | ||
| - | ===== Getting started with a new Device Page ===== | ||
| - | - This is an empty template that suggests the information that should be present on a well-constructed Device Page. This means, that **you have to fill it with life and information.** | ||
| - | - There are several " | ||
| - | - When there are no more " | ||
| - | |||
| - | ===== Keep the articles modular ===== | ||
| - | * Please include only model specific information, | ||
| - | * If you have no time to write certain stuff, link to [[docs: | ||
| - | * [[docs: | ||
| - | * DO NOT provide a complete howto here! Instead //groom// the [[docs: | ||
| - | </ | ||
| ===== Supported Versions ===== | ===== Supported Versions ===== | ||
| - | <WRAP BOX> | + | <!-- ToH: { |
| - | FIXME | + | |
| - | | + | "dom": |
| - | | + | "paging": |
| - | | + | " |
| - | - the dataentry page for TP-Link TL-SG2210P v3 is missing. Please [[meta:create_new_dataentry_page|create a new dataentry page]] first, then reload this page. The tables should then contain $something. If they do, delete this text and the ''< | + | "shownColumns": [" |
| - | - filters are not set correctly. Most common reason for "Nothing found": | + | |
| - | | + | } --> |
| - | </ | + | |
| - | + | ||
| - | ---- datatable ---- | + | |
| - | cols : Brand, Model, Versions, Supported Current Rel, OEM device homepage URL_url, Forum Search_search-forums, Device Techdata_pageid | + | |
| - | headers : Brand, Model, Version, Current Release, OEM Info, Forum Search, Technical Data | + | |
| - | align : c, | + | |
| - | filter | + | |
| - | filter | + | |
| - | filter | + | |
| - | ---- | + | |
| - | + | ||
| - | /* If no unsupported functions known, comment out the following datatable or delete it. */ | + | |
| - | ---- datatable ---- | + | |
| - | cols | + | |
| - | filter | + | |
| - | filter | + | |
| - | filter | + | |
| - | ---- | + | |
| - | + | ||
| - | ===== Experimental Versions ===== | + | |
| - | + | ||
| - | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ | + | |
| - | + | ||
| - | //None at this time.// | + | |
| ===== Hardware Highlights ===== | ===== Hardware Highlights ===== | ||
| - | ---- datatable ---- | + | <!-- ToH: { |
| - | cols | + | " |
| - | header | + | " |
| - | align : c,c, | + | " |
| - | filter | + | " |
| - | filter | + | |
| - | filter | + | |
| - | ---- | + | } --> |
| Line 87: | Line 40: | ||
| /* stable release */ | /* stable release */ | ||
| /* uncomment once stable release is available | /* uncomment once stable release is available | ||
| - | ---- datatable ---- | + | <!-- ToH: { |
| - | cols | + | " |
| - | headers | + | " |
| - | align : c,c,c | + | " |
| - | filter | + | " |
| - | filter | + | " |
| - | filter | + | |
| - | ---- | + | } --> |
| */ | */ | ||
| Line 100: | Line 53: | ||
| /* snapshot */ | /* snapshot */ | ||
| /* delete once stable release is available */ | /* delete once stable release is available */ | ||
| - | ---- datatable ---- | + | <!-- ToH: { |
| - | cols | + | " |
| - | headers | + | " |
| - | align : c,c,c | + | " |
| - | filter | + | " |
| - | filter | + | |
| - | filter | + | } --> |
| - | ---- | + | |
| Line 123: | Line 75: | ||
| ==== OEM easy installation ==== | ==== OEM easy installation ==== | ||
| - | <WRAP BOX> | + | There is no known way to install |
| - | FIXME //The instructions below are for Broadcom devices and only serve as an example.// | + | |
| - | **//Remove / modify them if they do not apply to this particular device!// | + | |
| - | + | ||
| - | This section deals with | + | |
| - | * How you install | + | |
| - | * The steps required such as reset to factory defaults if the device has already been configured | + | |
| - | + | ||
| - | **Note:** Reset router to factory defaults if it has been previously configured. | + | |
| - | * Browse to ''< | + | |
| - | * Upload .bin file to router | + | |
| - | * Wait for it to reboot | + | |
| - | * Telnet to 192.168.1.1 and set a root password, or browse to ''< | + | |
| - | </ | + | |
| ==== OEM installation using the TFTP method ==== | ==== OEM installation using the TFTP method ==== | ||
| - | -> [[docs: | + | The U-Boot firmware drops to a TP-Link specific " |
| + | 38400 baud. There is no known way to exit out of this shell, and no | ||
| + | way to do anything useful. | ||
| - | === Specific values needed for tftp === | + | Ideally, one would trick the bootloader into flashing the sysupgrade |
| + | image first. However, if the image exceeds 6MiB in size, it will not | ||
| + | work. To install OpenWRT: | ||
| - | <WRAP BOX> | + | Prepare a tftp server |
| - | + | - server | |
| - | FIXME Enter values for " | + | |
| - | + | ||
| - | ^ Bootloader | + | |
| - | ^ Bootloader MAC address (special) | + | |
| - | ^ Firmware tftp image | [[:downloads|Latest OpenWrt release]] (**'' | + | |
| - | ^ TFTP transfer window | + | |
| - | ^ TFTP window start | approximately FILL-IN seconds after power on | | + | |
| - | ^ TFTP client required IP address | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ===== Upgrading OpenWrt ===== | + | |
| - | -> [[docs: | + | |
| - | + | ||
| - | <WRAP BOX> | + | |
| - | + | ||
| - | FIXME These are generic instructions. Update with your router' | + | |
| - | + | ||
| - | ==== LuCI Web Upgrade Process ==== | + | |
| - | + | ||
| - | * Browse to ''< | + | |
| - | | + | |
| - | * Wait for reboot | + | |
| - | + | ||
| - | ==== Terminal Upgrade Process ==== | + | |
| - | + | ||
| - | If you don't have a GUI (LuCI) available, you can alternatively upgrade via the command line. | + | |
| - | There are two command line methods for upgrading: | + | |
| - | + | ||
| - | * '' | + | |
| - | * '' | + | |
| - | + | ||
| - | Note: It is important that you put the firmware | + | |
| - | + | ||
| - | === sysupgrade === | + | |
| - | + | ||
| - | * Login as root via SSH on 192.168.1.1, | + | |
| - | + | ||
| - | < | + | |
| - | cd /tmp | + | |
| - | wget http:// | + | |
| - | sysupgrade / | + | |
| - | </ | + | |
| - | + | ||
| - | === mtd === | + | |
| - | + | ||
| - | If '' | + | |
| - | + | ||
| - | * Login as root via SSH on 192.168.1.1, | + | |
| - | + | ||
| - | < | + | |
| - | cd /tmp | + | |
| - | wget http:// | + | |
| - | mtd write / | + | |
| - | </ | + | |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | ===== Debricking ===== | + | |
| - | -> [[docs: | + | |
| - | ===== Failsafe mode ===== | + | Power on device, and stop boot by pressing any key. |
| - | -> [[docs:guide-user: | + | Once the shell is active: |
| + | | ||
| + | - Select option "3. Start" | ||
| + | - Bootloader notes that "The kernel has been damaged!" | ||
| + | - Release CLK as soon as bootloader thinks image is corrupted. | ||
| + | - Bootloader enters automatic recovery -- details printed on console | ||
| + | - Watch as the bootloader flashes and boots OpenWRT. | ||
| - | ===== Basic configuration ===== | ||
| - | -> [[docs: | ||
| - | Set up your Internet connection, configure wireless, configure USB port, etc. | ||
| ===== Specific Configuration ===== | ===== Specific Configuration ===== | ||
| Line 261: | Line 148: | ||
| ===== Hardware ===== | ===== Hardware ===== | ||
| ==== Info ==== | ==== Info ==== | ||
| - | <WRAP BOX> | ||
| - | FIXME | ||
| - | - This table is automatically generated, **once the correct filters for Brand and Model are set.** | ||
| - | - If you see " | ||
| - | - If you still don't see a table here, or a table filled with ' | ||
| - | - If you see a table with the desired device data, everything is OK and you can delete this text and the ''< | ||
| - | - If it still doesn' | ||
| - | </ | ||
| - | ---- datatemplatelist dttpllist ---- | + | <!-- ToH: { |
| - | template: meta:template_datatemplatelist | + | " |
| - | cols | + | " |
| - | filter | + | " |
| - | filter | + | " |
| - | filter | + | " |
| - | ---- | + | |
| + | } --> | ||
| ==== Photos ==== | ==== Photos ==== | ||
| Line 315: | Line 195: | ||
| </ | </ | ||
| - | ^ Serial connection parameters\\ for TP-Link TL-SG2210P v3 | EXAMPLE 115200, 8N1, 3.3V | | + | ^ Serial connection parameters\\ for TP-Link TL-SG2210P v3 | 38400, 8N1, 3.3V | |
| ==== JTAG ==== | ==== JTAG ==== | ||
| -> [[docs: | -> [[docs: | ||
| - | How to connect to the JTAG Port of this specific | + | No known JTAG port is present on this device. |
| - | **Insert photo of PCB with markings for JTAG port** | + | |
| ===== Bootloader mods ===== | ===== Bootloader mods ===== | ||
| Line 330: | Line 209: | ||
| None so far. | None so far. | ||
| - | |||
| - | ===== Bootlogs ===== | ||
| - | ==== OEM bootlog ==== | ||
| - | <WRAP bootlog> | ||
| - | < | ||
| - | </ | ||
| - | |||
| - | ==== OpenWrt bootlog ==== | ||
| - | <WRAP bootlog> | ||
| - | < | ||
| - | </ | ||
| ===== Notes ===== | ===== Notes ===== | ||
| //Space for additional notes, links to forum threads or other resources.// | //Space for additional notes, links to forum threads or other resources.// | ||
| - | | + | ====== Power over Ethernet control ====== |
| + | By default, PoE is disabled. To enable PoE on boot, first install | ||
| + | |||
| + | < | ||
| + | i2cset -y 0 0x30 0x12 0xff | ||
| + | echo tps23861 0x28 > / | ||
| + | |||
| + | for poe_enable in $(ls / | ||
| + | echo 1 > $poe_enable | ||
| + | done | ||
| + | |||
| + | exit 0 | ||
| + | </ | ||
| + | |||
| + | ====== LED control ====== | ||
| + | To enable the status LEDs automatically on boot, copy the following to **/ | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | #!/bin/sh / | ||
| + | |||
| + | START=11 | ||
| + | |||
| + | # Enable hardware LED controller on tplink SG2000 series switches | ||
| + | # | ||
| + | # | | | ||
| + | # | This is a temporary stand-in for an RTL LED controller | ||
| + | # | driver. It will be obsolete once a kernel driver becomes | ||
| + | # | available. | ||
| + | # |___________________________________________________________| | ||
| + | # | ||
| + | # Crash course on LED controller: | ||
| + | # ------------------------------- | ||
| + | # | ||
| + | # From a software perspective, | ||
| + | # We're trying to map the network ports to the LEDs: | ||
| + | # ______ | ||
| + | # | | | ||
| + | # | 20-1 | | ||
| + | # |______| | ||
| + | # | | | ||
| + | # | 20-0 | | 15-2 | 14-2 | 13-2 | 12-2 | 11-2 | 10-2 | 9-2 | 8-2 | | ||
| + | # |______| | ||
| + | # | | | 26-1 | 24-1 | 15-1 | 14-1 | 13-1 | 12-1 | 11-1 | 10-1 | 9-1 | 8-1 | | ||
| + | # | N/A | | 26-0 | 24-0 | 15-0 | 14-0 | 13-0 | 12-0 | 11-0 | 10-0 | 9-0 | 8-0 | | ||
| + | # |______| | ||
| + | # | ||
| + | # The port numbering is flexible, but the ordering is fixed. The ' | ||
| + | # register is a bitmask that controls which switch ports send status data. | ||
| + | # In this example, Enabling the desired ports results in the bitmask 0x0510ff00 | ||
| + | # If there are more bits set than LED groups the extra (LSB) bits are discarded. | ||
| + | # | ||
| + | # LED[0] and LED[1] are bi-color LEDS | ||
| + | # - LED[0] = amber, LED[1] = green | ||
| + | # - Both on or both off turns off the LED | ||
| + | # 0xef: Turn LED1 on 1G, LED 0 on 100M. | ||
| + | # | ||
| + | # Switch port 20 is not used. The LEDs for port 20 are thus switched to manual | ||
| + | # mode by writing (1 << 20) bitmask in led0_sw_p_en_ctrl, | ||
| + | # | ||
| + | # LED[2] in each group is used for PoE or other functions, so they are all set | ||
| + | # to manual mode via the ' | ||
| + | # | ||
| + | tplink_sg2xxx_init_leds() | ||
| + | { | ||
| + | local leds="/ | ||
| + | |||
| + | if [ ! -d " | ||
| + | echo " | ||
| + | return | ||
| + | fi | ||
| + | |||
| + | echo 0x00a4014f > " | ||
| + | echo 0x0510ff00 > " | ||
| + | echo 0x00100000 > " | ||
| + | echo 0x00100000 > " | ||
| + | echo 0x0fffffff > " | ||
| + | |||
| + | # Turn on system LED to confirm this script is running | ||
| + | echo 0x005 > " | ||
| + | } | ||
| + | |||
| + | boot() { | ||
| + | case $(board_name) in | ||
| + | tplink, | ||
| + | tplink, | ||
| + | tplink_sg2xxx_init_leds | ||
| + | ;; | ||
| + | esac | ||
| + | } | ||
| + | </ | ||
| ===== Tags ===== | ===== Tags ===== | ||