Accessories for Firmware Development
This chapter introduces some accessories for firmware development.
USB-to-Serial COMM port cable
Prolific PL2303
try to buy it from Taobao. It is not very expensive.
- PID/VID: 2303/067B
- Driver: Windows
Networking Equipments
Network Hub (Optional, nice to have)
If you don't to want to spend your time to set Port Mirror
to Network Switch, please look for ancient Hub for packet sniffing.
LINKSYS EW5HUB
D-Link DE-805TP
Network Switch
It's better to have Port Mirroring
function to the Network Switch.
VigorSwitch G1080
8-Port Smart Lite Managed Gigabit Switch
- Default IP: 192.168.1.224
- Default Password: admin
- Website: *
- Port Mirroring:
Ethernet Router
MikroTik RB750Gr3 hEX
5x Gigabit Ethernet, Dual Core 880MHz CPU, 256MB RAM, USB, microSD, RouterOS L4.
- Default IP: 192.168.88.1
-
Website: *
-
Config PPPoE server with VLAN support
Interfaces > VLAN > Name: vlan2 , VLAN ID: 2, Interface: eth3
IP > Pool > Name: PPPoE_Pool, Address: 10.1.1.2-10.1.1.254
PPP > Profiles > Name: PPPoE_profile, Local Address: 10.1.1.1, Remote Address: PPPoE_Pool
PPP > PPPoE Server > Interface: vlan2; Default Profile: PPPoE profile
- Reference
Wi-Fi Adaptor
There are some Wi-Fi USB dongle which can capture wireless packets in Linux OS, but MTK chipsets may have problem to capture RTS
packets.
Clear syslog using dmesg -c
then plug the dongle and run lsusb
, dmesg
and ifconfig
to make sure this device is enabled in your machine.
MTK 7601U
- PID/VID: 2717:4106
- Firmware: mt7601u.bin
$ sudo lsusb
Bus 003 Device 025: ID 2717:4106
$ sudo dmesg
[ 2548.559092] usb 3-1: new high-speed USB device number 26 using xhci_hcd
[ 2548.718886] usb 3-1: New USB device found, idVendor=2717, idProduct=4106, bcdDevice= 0.00
[ 2548.718893] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2548.718896] usb 3-1: Product: MI WLAN Adapter
[ 2548.718898] usb 3-1: Manufacturer: MediaTek
[ 2548.718900] usb 3-1: SerialNumber: 1.0
[ 2548.847525] usb 3-1: reset high-speed USB device number 26 using xhci_hcd
[ 2549.002214] mt7601u 3-1:1.0: ASIC revision: 76010001 MAC revision: 76010500
[ 2549.002965] mt7601u 3-1:1.0: firmware: direct-loading firmware mt7601u.bin
[ 2549.002976] mt7601u 3-1:1.0: Firmware Version: 0.1.00 Build: 7640 Build time: 201302052146____
[ 2549.396105] mt7601u 3-1:1.0: EEPROM ver:0d fae:00
[ 2549.396357] mt7601u 3-1:1.0: EEPROM country region 01 (channels 1-13)
[ 2549.603889] ieee80211 phy12: Selected rate control algorithm 'minstrel_ht'
[ 2549.619008] mt7601u 3-1:1.0 wlx8c00001900aa: renamed from wlan0
$ sudo ifconfig
wlx8c00001900aa: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
unspec 3A-A8-A0-8F-E9-47-30-3A-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
RX packets 9148 bytes 1749086 (1.6 MiB)
RX errors 0 dropped 6499 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
MTK 7610
- PID/VID: 0e8d:7610
- Firmware: mediatek/mt7610e.bin
$ sudo lsusb
Bus 003 Device 020: ID 0e8d:7610 MediaTek Inc.
$ sudo dmesg
[ 1563.661561] usb 3-1: new high-speed USB device number 20 using xhci_hcd
[ 1563.825615] usb 3-1: New USB device found, idVendor=0e8d, idProduct=7610, bcdDevice= 1.00
[ 1563.825622] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1563.825625] usb 3-1: Product: WiFi
[ 1563.825627] usb 3-1: Manufacturer: MediaTek
[ 1563.825629] usb 3-1: SerialNumber: 1.0
[ 1563.954061] usb 3-1: reset high-speed USB device number 20 using xhci_hcd
[ 1564.107474] mt76x0u 3-1:1.0: ASIC revision: 76100002 MAC revision: 76502000
[ 1564.109431] mt76x0u 3-1:1.0: firmware: direct-loading firmware mediatek/mt7610e.bin
[ 1565.092770] mt76x0u 3-1:1.0: EEPROM ver:02 fae:04
[ 1565.113101] ieee80211 phy4: Selected rate control algorithm 'minstrel_ht'
[ 1565.124601] mt76x0u 3-1:1.0 wlx001122340147: renamed from wlan0
$ sudo ifconfig
wlx001122340147: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether f2:16:11:d2:7f:e3 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
MTK 7612
- SD Storage mode PID/VID: 0e8d:2870
- Wi-Fi adaptor mode PID/VID: 0e8d:7612
- Firmware: mt7662_rom_patch.bin, mt7662.bin
- Eject command:
sudo eject /dev/sr0
(depend on stroage name ofsr0
)
$ sudo lsusb
Bus 004 Device 004: ID 0e8d:7612 MediaTek Inc.
$ sudo dmesg
[ 1386.531768] usb 4-1: new SuperSpeed Gen 1 USB device number 3 using xhci_hcd
[ 1386.553264] usb 4-1: New USB device found, idVendor=0e8d, idProduct=7612, bcdDevice= 1.00
[ 1386.553271] usb 4-1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[ 1386.553274] usb 4-1: Product: Wireless
[ 1386.553276] usb 4-1: Manufacturer: MediaTek Inc.
[ 1386.553278] usb 4-1: SerialNumber: 000000000
[ 1386.684289] usb 4-1: reset SuperSpeed Gen 1 USB device number 3 using xhci_hcd
[ 1386.705420] mt76x2u 4-1:1.0: ASIC revision: 76120044
[ 1386.728319] mt76x2u 4-1:1.0: firmware: direct-loading firmware mt7662_rom_patch.bin
[ 1386.728329] mt76x2u 4-1:1.0: ROM patch build: 20141115060606a
[ 1386.860075] mt76x2u 4-1:1.0: firmware: direct-loading firmware mt7662.bin
[ 1386.860085] mt76x2u 4-1:1.0: Firmware Version: 0.0.00
[ 1386.860087] mt76x2u 4-1:1.0: Build: 1
[ 1386.860089] mt76x2u 4-1:1.0: Build Time: 201507311614____
[ 1387.590772] ieee80211 phy2: Selected rate control algorithm 'minstrel_ht'
[ 1387.609803] mt76x2u 4-1:1.0 wlx008e86000266: renamed from wlan0
$sudo ifconfig
wlx008e86000266: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 32:62:0a:a0:25:57 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Ralink RT5372
- PID/VID: 2001:3c20
- Driver: D-Link DWA-140 rev D1 (rt2800usb)
$ dmesg
[ 7355.421533] usb 2-2: new high-speed USB device number 11 using xhci_hcd
[ 7355.586303] usb 2-2: New USB device found, idVendor=2001, idProduct=3c20, bcdDevice= 1.01
[ 7355.586309] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 7355.586313] usb 2-2: Product: 802.11 n WLAN
[ 7355.586315] usb 2-2: Manufacturer: Ralink
[ 7355.586317] usb 2-2: SerialNumber: 1.0
[ 7355.713930] usb 2-2: reset high-speed USB device number 11 using xhci_hcd
[ 7355.871253] ieee80211 phy8: rt2x00_set_rt: Info - RT chipset 5392, rev 0222 detected
[ 7355.884821] ieee80211 phy8: rt2x00_set_rf: Info - RF chipset 5372 detected
[ 7355.884997] ieee80211 phy8: Selected rate control algorithm 'minstrel_ht'
[ 7355.899487] rt2800usb 2-2:1.0 wlxd8fee3d7ae29: renamed from wlan0
[ 7355.919436] ieee80211 phy8: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[ 7355.919471] rt2800usb 2-2:1.0: firmware: direct-loading firmware rt2870.bin
[ 7355.919475] ieee80211 phy8: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.36
$ sudo ifconfig
wlxd8fee3d7ae29: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 96:4f:c3:ae:3b:c2 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Bluetooth Adaptor
Install BLE tools
$ sudo apt-get update
$ sudo apt-get install bluetooth bluez bluez-hcidump
CP2102/CP2109
- PID/VID: 10c4:ea60
$ lsusb
Bus 003 Device 027: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family]
$ dmesg
[ 3743.253835] usb 3-1: new full-speed USB device number 28 using xhci_hcd
[ 3743.433358] usb 3-1: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
[ 3743.433364] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3743.433367] usb 3-1: Product: CP2102 USB to UART Bridge Controller
[ 3743.433370] usb 3-1: Manufacturer: Silicon Labs
[ 3743.433372] usb 3-1: SerialNumber: 0001
[ 3743.442472] cp210x 3-1:1.0: cp210x converter detected
[ 3743.444720] usb 3-1: cp210x converter now attached to ttyUSB0
Cambridge Bluetooth
- PID/VID: 0a12:0001
$ lsusb
Bus 003 Device 034: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
$ dmesg -c
[ 3849.277478] usb 3-1: new full-speed USB device number 33 using xhci_hcd
[ 3849.405514] usb 3-1: device descriptor read/64, error -71
[ 3849.641504] usb 3-1: device descriptor read/64, error -71
[ 3849.877474] usb 3-1: new full-speed USB device number 34 using xhci_hcd
[ 3850.081071] usb 3-1: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=88.91
[ 3850.081077] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3850.083788] Bluetooth: hci1: unexpected event for opcode 0x0000
$ sudo hcitool dev
Devices:
hci1 00:1A:7D:DA:71:15
hci0 68:94:23:EB:7A:63