1

Temat: TP-Link MR200 - wsparcie

Witam.
Próbuję zbudować firmware OpenWrt/LEDE które można będzie wgrać standardowo przez GUI.

Technicznie router to Archer C2 + złącze mPCIe na modem - gigabitowy switch.

UBoot ma w sobie tryb recovery który próbuje pobrać: ArcherC2V1_tp_recovery.bin z serwera TFTP o adresie 192.168.0.66

starting recovery...
set serverip 192.168.0.66
tftp 0x80060000 ArcherC2V1_tp_recovery.bin;erase tplink 0x00000 0x7c0000;cp.b 0x80060000 0x00000 0x7c0000
reset

Jednak tryb ten nie działa ( przynajmniej u mnie) ze względu że dla komendy tftp w trybie recovery jest ustawiony timeout na 0 sek. więc zanim router pobierze oprogramowanie z serwera to kończy połączenie i zaczyna od nowa.


Dla tego routera pasuje gotowe oprogramowanie dla routerów Archer C50, C20i które wymagało by jedynie zmiany obsługi ledów.
Jedyny problem jest z prawidłowym utworzeniem nagłówka firmware, aby dało się je wgrać przez GUI w oficjalnym oprogramowaniu.

Standardowe narzędzie które tworzy ten nagłówek nie potrafi podpisać firmware właściwą sumą kontrolną MD5.

info o oficjalnym firmware (UN):

File name              : /home/hyniu/Pulpit/Archer MR200v1_0.9.1_0.0_update_1041_1021_2009.bin
File size              : 0x03486273 / 55075443 bytes
Version 2 Header size  : 0x00000200 /      512 bytes
Unknown value 1        : 0x01000000 / 16777216 bytes
Header MD5Sum1         : bb c0 50 dc c2 34 0f e2 fa 17 9c f6 47 20 b2 a3 (*ERROR*)
          --> expected : 72 f7 b1 a3 b2 72 3f 2a 24 d1 07 56 ab 9c 21 8f 
Header MD5Sum2         : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff (purpose yet unknown, unchecked here)

Firmware version       : ver. 2.0
Hardware ID            : 0xd7500001 (ArcherMR200)
Hardware Revision      : 0x0000004a (ok)
Software version       : 0.9.1-0.0

Kernel data offset     : 0x00000200 /      512 bytes
Kernel data length     : 0x00136338 /  1270584 bytes
Kernel load address    : 0x00000080                  (OpenWrt default: 0x80000000)
Kernel entry point     : 0x50c10080                  (OpenWrt default: 0x80000000)
Rootfs data offset     : 0x00140000 /  1310720 bytes (== OpenWrt default)
Rootfs data length     : 0x00483000 /  4730880 bytes
Boot loader data offset: 0x00000000 /        0 bytes
Boot loader data length: 0x0001d6ac /   120492 bytes
Total firmware length  : 0x007d0200 /  8192512 bytes

Najnowsza oficjalna wersja (EU):

File size              : 0x0348871b / 55084827 bytes
Version 2 Header size  : 0x00000200 /      512 bytes
Header MD5Sum1         : ce cd 33 a1 a5 62 08 e2 03 7c 2f 47 d1 61 d5 37 (*ERROR*)
          --> expected : 8d 9b b8 d7 67 66 5e 76 5d d9 51 f2 ac bc 16 28 
Header MD5Sum2         : ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff (purpose yet unknown, unchecked here)

Firmware version       : ver. 2.0
Hardware ID            : 0xd7500001 (ArcherMR200)
Hardware Revision      : 0x0000004a (ok)
Software version       : 0.9.1-0.0

Kernel data offset     : 0x00000200 /      512 bytes
Kernel data length     : 0x001361ec /  1270252 bytes
Kernel load address    : 0x00000080                  (OpenWrt default: 0x80000000)
Kernel entry point     : 0x50c10080                  (OpenWrt default: 0x80000000)
Rootfs data offset     : 0x00140000 /  1310720 bytes (== OpenWrt default)
Rootfs data length     : 0x00481000 /  4722688 bytes
Boot loader data offset: 0x00000000 /        0 bytes
Boot loader data length: 0x0001d74c /   120652 bytes
Total firmware length  : 0x007d0200 /  8192512 bytes
https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

2

Odp: TP-Link MR200 - wsparcie

Pokaż:
1. Pełen bootlog na OFW.
2. Listę poleceń w U-Boot.
3. Zmienne środowiskowe w U-Boot.
4. Bootlog z konsoli przy próbie wgrania firmware przez GUI.

Modyfikacja U-Boot dla routerów (gotowe obrazy)
Free Your Router, Again!

Podejmę się naprawy każdego routera, wymienię RAM i FLASH (32-128 MB już dostępne!) na większy

3 (edytowany przez Heinz 2016-09-22 20:29:50)

Odp: TP-Link MR200 - wsparcie

1.

U-Boot 1.1.3 (Jan  7 2016 - 17:19:14)

Board: Ralink APSoC DRAM:  64 MB
relocate_code Pointer at: 83fb0000
enable ephy clock...done. rf reg 29 = 5
SSC disabled.
------------------
  LTE AC750 v1.0.0
------------------
Now running in RAM - U-Boot at: 83fb0000, MONITOR BASE: bc000000

 uboot_end: 0001d6ac   83fcd6ac
spi_wait_nsec: 29
spi device id: ef 40 17 0 0 (40170000)
find flash: W25Q64BV
============================================
Ralink UBoot Version: 4.1.2.0
--------------------------------------------
ASIC 7620_MP (Port5<->GigaSW)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Jan  7 2016  Time:17:19:14
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 580 MHZ ####
 estimate memory size =64 Mbytes

BootType = 3

continue to starting system.                                                                                                                                                                       0
disableEthForward(1158):disable switch forward...

3: System Boot system code via Flash.(0xbc020000)
## Booting image at bc020000 ...
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 8000c150) ...
## Giving linux memsize in MB, 64

Starting kernel ...

怘▒▒▒▒fff▒▒~▒▒~fx▒▒▒怘▒怘▒f▒▒▒▒f▒▒▒▒f▒f▒▒▒Linux version 2.6.36 (tp-link@Sohoidev) (gcc version 4.6.3 (Buildroot 2012.11.1) ) #139 Tue Apr 12 10:30:13 CST 2016

 The CPU feqenuce set to 580 MHz

 MIPS CPU sleep mode enabled.
 PCIE: bypass PCIe DLL.
 PCIE: Elastic buffer control: Addr:0x68 -> 0xB4
 disable all power about PCIe
CPU revision is: 00019650 (MIPS 24Kc)
Determined physical RAM map:
 memory: 04000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
  Normal   0x00000000 -> 0x00004000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00004000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: console=ttyS1,115200 root=/dev/mtdblock2 rootfstype=squashfs init=/sbin/init
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
Writing ErrCtl register=0007e39f
Readback ErrCtl register=0007e39f
Memory: 61188k/65536k available (2854k kernel code, 4348k reserved, 592k data, 164k init, 0k highmem)
NR_IRQS:128
MTK/Ralink System Tick Counter init... cd:8034bf68, m:214748, s:32
console [ttyS1] enabled
Calibrating delay loop... 386.04 BogoMIPS (lpj=772096)
pid_max: default: 4096 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16
RALINK_GPIOMODE = 1ab01d
RALINK_GPIOMODE = 18b01d
PPLL_CFG1=0xe68000
MT7620 PPLL lock
PPLL_DRV =0x80080504
start PCIe register access
RALINK_PCI_PCICFG_ADDR = 1000f0

*************** MT7620 PCIe RC mode *************
bio: create slab <bio-0> at 0
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x201fffff]
pci 0000:00:00.0: BAR 1: assigned [mem 0x20200000-0x2020ffff]
pci 0000:00:00.0: BAR 1: set to [mem 0x20200000-0x2020ffff] (PCI address [0x20200000-0x2020ffff]
pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x200fffff]
pci 0000:01:00.0: BAR 0: set to [mem 0x20000000-0x200fffff] (PCI address [0x20000000-0x200fffff]
pci 0000:01:00.1: BAR 0: assigned [mem 0x20100000-0x201fffff]
pci 0000:01:00.1: BAR 0: set to [mem 0x20100000-0x201fffff] (PCI address [0x20100000-0x201fffff]
pci 0000:00:00.0: PCI bridge to [bus 01-01]
pci 0000:00:00.0:   bridge window [io  disabled]
pci 0000:00:00.0:   bridge window [mem 0x20000000-0x201fffff]
pci 0000:00:00.0:   bridge window [mem pref disabled]
BAR0 at slot 0 = 0
bus=0x0, slot = 0x0
res[0]->start = 0
res[0]->end = 0
res[1]->start = 20200000
res[1]->end = 2020ffff
res[2]->start = 0
res[2]->end = 0
res[3]->start = 0
res[3]->end = 0
res[4]->start = 0
res[4]->end = 0
res[5]->start = 0
res[5]->end = 0
bus=0x1, slot = 0x0
res[0]->start = 20000000
res[0]->end = 200fffff
res[1]->start = 0
res[1]->end = 0
res[2]->start = 0
res[2]->end = 0
res[3]->start = 0
res[3]->end = 0
res[4]->start = 0
res[4]->end = 0
res[5]->start = 0
res[5]->end = 0
bus=0x1, slot = 0x0
res[0]->start = 20100000
res[0]->end = 201fffff
res[1]->start = 0
res[1]->end = 0
res[2]->start = 0
res[2]->end = 0
res[3]->start = 0
res[3]->end = 0
res[4]->start = 0
res[4]->end = 0
res[5]->start = 0
res[5]->end = 0
Switching to clocksource Ralink external timer
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
RT3xxx EHCI/OHCI init.
squashfs: version 4.0 (2009/01/31) Phillip Lougher
fuse init (API version 7.15)
msgmni has been set to 119
io scheduler noop registered
io scheduler deadline registered (default)
Ralink gpio driver initialized
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250: ttyS0 at MMIO 0x10000500 (irq = 37) is a 16550A
serial8250: ttyS1 at MMIO 0x10000c00 (irq = 12) is a 16550A
loop: module loaded
deice id : ef 40 17 0 0 (40170000)
W25Q64BV(ef 40170000) (8192 Kbytes)
mtd .name = raspi, .size = 0x00800000 (0M) .erasesize = 0x00000008 (0K) .numeraseregions = 65536
Creating 6 MTD partitions on "raspi":
0x000000000000-0x000000020000 : "boot"
0x000000020000-0x000000160000 : "kernel"
0x000000160000-0x0000007d0000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
0x0000007d0000-0x0000007e0000 : "romfile"
0x0000007e0000-0x0000007f0000 : "config"
0x0000007f0000-0x000000800000 : "radio"
Register flash device:flash0
PPP generic driver version 2.4.2
NET: Registered protocol family 24
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
rt3xxx-ehci rt3xxx-ehci: Ralink EHCI Host Controller
rt3xxx-ehci rt3xxx-ehci: new USB bus registered, assigned bus number 1
rt3xxx-ehci rt3xxx-ehci: irq 18, io mem 0x101c0000
rt3xxx-ehci rt3xxx-ehci: USB 0.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
rt3xxx-ohci rt3xxx-ohci: RT3xxx OHCI Controller
rt3xxx-ohci rt3xxx-ohci: new USB bus registered, assigned bus number 2
rt3xxx-ohci rt3xxx-ohci: irq 18, io mem 0x101c1000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Mirror/redirect action on
u32 classifier
    Actions configured
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (2868 buckets, 11472 max)
ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Linux
TCP cubic registered
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
Ebtables v2.0 registered
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
Freeing unused kernel memory: 164k freed
starting pid 195, tty '': '/etc/init.d/rcS'
rdm_major = 253
spiflash_ioctl_read, Read from 0x007df100 length 0x6, ret 0, retlen 0x6
Read MAC from flash(0x7DF100) 3c-46-ffffffd8-ffffffaa-ffffff89-4f
SMACCR1 -- : 0x00003c46
SMACCR0 -- : 0xd8aa894f
Ralink APSoC Ethernet Driver Initilization. v3.0  256 rx/tx descriptors allocated, mtu = 1500!
spiflash_ioctl_read, Read from 0x007df100 length 0x6, ret 0, retlen 0x6
Read MAC from flash(0x7DF100) 3c-46-ffffffd8-ffffffaa-ffffff89-4f
SMACCR1 -- : 0x00003c46
SMACCR0 -- : 0xd8aa894f
PROC INIT OK!
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
SCSI subsystem initialized
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver rndis_host
dns_init
domain_name:tplinkmodem.net
Raeth v3.0 (Workqueue)

phy_tx_ring = 0x03f4f000, tx_ring = 0xa3f4f000

phy_rx_ring0 = 0x03f50000, rx_ring0 = 0xa3f50000
Pseudo Close vlan...
SMACCR1 -- : 0x00003c46
SMACCR0 -- : 0xd8aa894f
ESW: Link Status Changed - Port5 Link Down
CDMA_CSG_CFG = 81000000
GDMA1_FWD_CFG = 20710000
L2TP core driver, V2.0
PPPoL2TP kernel driver, V2.0

Please press Enter to activate this console. [ dm_readFile ] 2042:  can not open xml file /var/tmp/pc/reduced_data_model.xml!, about to open file /etc/reduced_data_model.xml
spiflash_ioctl_read, Read from 0x007e0000 length 0x10000, ret 0, retlen 0x10000
spiflash_ioctl_read, Read from 0x007e0000 length 0x710e, ret 0, retlen 0x710e
spiflash_ioctl_read, Read from 0x007df100 length 0x6, ret 0, retlen 0x6
spiflash_ioctl_read, Read from 0x007df200 length 0x4, ret 0, retlen 0x4
spiflash_ioctl_read, Read from 0x00020000 length 0x1d0, ret 0, retlen 0x1d0
spiflash_ioctl_read, Read from 0x007df100 length 0x6, ret 0, retlen 0x6
[initMpPointspiflash_ioctl_read, Read from 0x007df200 length 0x4, ret 0, retlen 0x4
er 234] [AT NOTICE] - memory pool : start 0x81c138, end 0x8330a8, size 94064
[openSerialPort 125] Fail to open serial port /dev/ttyUSB1!
[initSerialPortFd 83] Fail to open /dev/ttyUSB1!, retry_counter= 1
usb 1-1: new high speed USB device using rt3xxx-ehci and address 2
[openSerialPort 125] Fail to open serial port /dev/ttyUSB1!
[initSerialPortFd 83] Fail to open /dev/ttyUSB1!, retry_counter= 2
usb 1-1: USB disconnect, address 2
[openSerialPort 125] Fail to open serial port /dev/ttyUSB1!
[initSerialPortFd 83] Fail to open /dev/ttyUSB1!, retry_counter= 3
[openSerialPort 125] Fail to open serial port /dev/ttyUSB1!
[initSerialPortFd 83] Fail to open /dev/ttyUSB1!, retry_counter= 4
[openSerialPort 125] Fail to open serial port /dev/ttyUSB1!
[initSerialPortFd 83] Fail to open /dev/ttyUSB1!, retry_counter= 5
[openSerialPort 125] Fail to open serial port /dev/ttyUSB1!
[initSerialPortFd 83] Fail to open /dev/ttyUSB1!, retry_counter= 6
usb 1-1: new high speed USB device using rt3xxx-ehci and address 3
rndis_host 1-1:1.0: lte0: register 'rndis_host' at usb-rt3xxx-1, RNDIS device, 8e:dc:66:66:4b:1b
usbserial_generic 1-1:1.2: generic converter detected
usb 1-1: generic converter now attached to ttyUSB0
option 1-1:1.4: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
option 1-1:1.5: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
scsi0 : usb-storage 1-1:1.6
scsi 0:0:0:0: Direct-Access     TP-LINK  MMC Storage           PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] Attached SCSI removable disk
[initSerialPortFd 95] Open /dev/ttyUSB1 succeed, retry_counter = 7
[isValidReply 418] Fail to find result flag, but OK flag found...
]sendAtCmdAndGetReply 560] cmd [ate0
[sendAtCmdAndGetReply 561] reply [ate0
OK]
[isValidReply 418] Fail to find result flag, but OK flag found...
]sendAtCmdAndGetReply 560] cmd [at+tpweb="{"module":"status","action":0}"
[sendAtCmdAndGetReply 561] reply [
+tpweb:{"commit":"Socket Send Error"}

OK]
sendto: No such file orspiflash_ioctl_read, Read from 0x007df200 length 0x4, ret 0, retlen 0x4
 directory
pid 268 send 2001 error
[initMpPointer 234] [AT NOTICE] - memory pool : start 0x979150, end 0x9900c0, size 94064
[initSerialPortFd 95] Open /dev/ttyUSB1 succeed, retry_counter = 1
[isValidReply 418] Fail to find result flag, but OK flag found...
]sendAtCmdAndGetReply 560] cmd [ate0
[sendAtCmdAndGetReply 561] reply [
OK]
[isValidReply 418] Fail to find result flag, but OK flag found...
]sendAtCmdAndGetReply 560] cmd [at+tpweb="{"module":"status","action":0}"
[sendAtCmdAndGetReply 561] reply [
+tpweb:{"commit":"Socket Send Error"}

OK]
[ oal_sys_getOldTZInfo ] 468:  Open TZ file error!
[isValidReply 418] Fail to find result flag, but OK flag found...
]sendAtCmdAndGetReply 560] cmd [at+tpweb="{"module":"time","action":2,"timeZone":"0"}"
[sendAtCmdAndGetReply 561] reply [
+tpweb:{"commit":"Socket Send Error"}

OK]
[isValidReply 418] Fail to find result flag, but OK flag found...
[sendAtCmdAndGetReply 560] cmspiflash_ioctl_read, Read from 0x007df100 length 0x6, ret 0, retlen 0x6
] [at+tpweb="{"module":"status","action":0}"
[sendAtCmdAndGetReply 561] reply [
+tpweb:{"commit":"Socket Send Error"}

OK]
ioctl: No such device
[isValidReply 418] Fail to find result flag, but OK flag found...
[sendAtCmdAndGetReply 560] cmd [at+tpweb="{"module":"time","action":3,"year":"1device eth0 entered promiscuous mode
970br0: port 1(eth0) entering forwarding state
",br0: port 1(eth0) entering forwarding state
]month":"1","date":"1","hour":"0","minute":"0","second":"17"}"
[sendAtCmdAndevice eth0 left promiscuous mode
dGbr0: port 1(eth0) entering forwarding state
etReply 561] reply [
+tpweb:{"commit":"Socket Send Error"}

OK]
device eth0.6 entered promiscuous mode
device eth0 entered promiscuous mode
br0: port 1(eth0.6) entering forwarding state
br0: port 1(eth0.6) entering forwarding state
[isValidReply 418] Fail tospiflash_ioctl_read, Read from 0x007df300 length 0x2, ret 0, retlen 0x2
 find result flag, but OK flag found...
]sendAtCmdAndGetReply 560] cmd [at+tpweb="{"module":"time","action":2,"timeZone":"0"}"
[sendAtCmdAndGetReply 561] reply [
+tpweb:{"commit":"Socket Send Error"}

OK]
ra0       no private ioctls.

rt2860v2_ap: module license 'unspecified' taints kernel.
Disabling lock debugging due to kernel taint


=== pAd = c0a10000, size = 968080 ===

<-- RTMPAllocTxRxRingMemory, Status=0
<-- RTMPAllocAdapterBlock, Status=0
AP Driver version-2.7.1.6_edcca_monitor_20131227
[ oal_wlan_ra_lteCoexistence ] 6553:
AutoChannelSkipList = 52;56;60;64;100;104;108;112;116RX DESC a31d4000  size = 4096
;120;124;128;132;136;140

RTMP_TimerListAdd: add timer obj c0abd930!
RTMP_TimerListAdd: add timer obj c0a75940!
RTMP_TimerListAdd: add timer obj c0a78194!
RTMP_TimerListAdd: add timer obj c0a78254!
RTMP_TimerListAdd: add timer obj c0a78314!
RTMP_TimerListAdd: add timer obj c0a783d4!
RTMP_TimerListAdd: add timer obj c0a78494!
RTMP_TimerListAdd: add timer obj c0a78554!
RTMP_TimerListAdd: add timer obj c0a78614!
RTMP_TimerListAdd: add timer obj c0a786d4!
RTMP_TimerListAdd: add timer obj c0a78794!
RTMP_TimerListAdd: add timer obj c0a78854!
RTMP_TimerListAdd: add timer obj c0a78914!
RTMP_TimerListAdd: add timer obj c0a789d4!
RTMP_TimerListAdd: add timer obj c0a78a94!
RTMP_TimerListAdd: add timer obj c0a78b54!
RTMP_TimerListAdd: add timer obj c0a78c14!
RTMP_TimerListAdd: add timer obj c0a78cd4!
RTMP_TimerListAdd: add timer obj c0a75914!
RTMP_TimerListAdd: add timer obj c0a78168!
RTMP_TimerListAdd: add timer obj c0a78228!
RTMP_TimerListAdd: add timer obj c0a782e8!
RTMP_TimerListAdd: add timer obj c0a783a8!
RTMP_TimerListAdd: add timer obj c0a78468!
RTMP_TimerListAdd: add timer obj c0a78528!
RTMP_TimerListAdd: add timer obj c0a785e8!
RTMP_TimerListAdd: add timer obj c0a786a8!
RTMP_TimerListAdd: add timer obj c0a78768!
RTMP_TimerListAdd: add timer obj c0a78828!
RTMP_TimerListAdd: add timer obj c0a788e8!
RTMP_TimerListAdd: add timer obj c0a789a8!
RTMP_TimerListAdd: add timer obj c0a78a68!
RTMP_TimerListAdd: add timer obj c0a78b28!
RTMP_TimerListAdd: add timer obj c0a78be8!
RTMP_TimerListAdd: add timer obj c0a78ca8!
RTMP_TimerListAdd: add timer obj c0a758e8!
RTMP_TimerListAdd: add timer obj c0a781c0!
RTMP_TimerListAdd: add timer obj c0a78280!
RTMP_TimerListAdd: add timer obj c0a78340!
RTMP_TimerListAdd: add timer obj c0a78400!
RTMP_TimerListAdd: add timer obj c0a784c0!
RTMP_TimerListAdd: add timer obj c0a78580!
RTMP_TimerListAdd: add timer obj c0a78640!
RTMP_TimerListAdd: add timer obj c0a78700!
RTMP_TimerListAdd: add timer obj c0a787c0!
RTMP_TimerListAdd: add timer obj c0a78880!
RTMP_TimerListAdd: add timer obj c0a78940!
RTMP_TimerListAdd: add timer obj c0a78a00!
RTMP_TimerListAdd: add timer obj c0a78ac0!
RTMP_TimerListAdd: add timer obj c0a78b80!
RTMP_TimerListAdd: add timer obj c0a78c40!
RTMP_TimerListAdd: add timer obj c0a78d00!
RTMP_TimerListAdd: add timer obj c0a1c9b0!
RTMP_TimerListAdd: add timer obj c0a1c5a4!
RTMP_TimerListAdd: add timer obj c0a1c980!
RTMP_TimerListAdd: add timer obj c0a1cd28!
RTMP_TimerListAdd: add timer obj c0a1ca78!
RTMP_TimerListAdd: add timer obj c0a1caa8!
RTMP_TimerListAdd: add timer obj c0a1cc68!
RTMP_TimerListAdd: add timer obj c0a1cc98!
RTMP_TimerListAdd: add timer obj c0a1fbe8!
RTMP_TimerListAdd: add timer obj c0a1f7dc!
RTMP_TimerListAdd: add timer obj c0a1fbb8!
RTMP_TimerListAdd: add timer obj c0a1ff60!
RTMP_TimerListAdd: add timer obj c0a1fcb0!
RTMP_TimerListAdd: add timer obj c0a1fce0!
RTMP_TimerListAdd: add timer obj c0a1fea0!
RTMP_TimerListAdd: add timer obj c0a1fed0!
RTMP_TimerListAdd: add timer obj c0a22e20!
RTMP_TimerListAdd: add timer obj c0a22a14!
RTMP_TimerListAdd: add timer obj c0a22df0!
RTMP_TimerListAdd: add timer obj c0a23198!
RTMP_TimerListAdd: add timer obj c0a22ee8!
RTMP_TimerListAdd: add timer obj c0a22f18!
RTMP_TimerListAdd: add timer obj c0a230d8!
RTMP_TimerListAdd: add timer obj c0a23108!
RTMP_TimerListAdd: add timer obj c0a26058!
RTMP_TimerListAdd: add timer obj c0a25c4c!
RTMP_TimerListAdd: add timer obj c0a26028!
RTMP_TimerListAdd: add timer obj c0a263d0!
RTMP_TimerListAdd: add timer obj c0a26120!
RTMP_TimerListAdd: add timer obj c0a26150!
RTMP_TimerListAdd: add timer obj c0a26310!
RTMP_TimerListAdd: add timer obj c0a26340!
RTMP_TimerListAdd: add timer obj c0a29290!
RTMP_TimerListAdd: add timer obj c0a28e84!
RTMP_TimerListAdd: add timer obj c0a29260!
RTMP_TimerListAdd: add timer obj c0a29608!
RTMP_TimerListAdd: add timer obj c0a29358!
RTMP_TimerListAdd: add timer obj c0a29388!
RTMP_TimerListAdd: add timer obj c0a29548!
RTMP_TimerListAdd: add timer obj c0a29578!
RTMP_TimerListAdd: add timer obj c0a2c4c8!
RTMP_TimerListAdd: add timer obj c0a2c0bc!
RTMP_TimerListAdd: add timer obj c0a2c498!
RTMP_TimerListAdd: add timer obj c0a2c840!
RTMP_TimerListAdd: add timer obj c0a2c590!
RTMP_TimerListAdd: add timer obj c0a2c5c0!
RTMP_TimerListAdd: add timer obj c0a2c780!
RTMP_TimerListAdd: add timer obj c0a2c7b0!
RTMP_TimerListAdd: add timer obj c0a2f700!
RTMP_TimerListAdd: add timer obj c0a2f2f4!
RTMP_TimerListAdd: add timer obj c0a2f6d0!
RTMP_TimerListAdd: add timer obj c0a2fa78!
RTMP_TimerListAdd: add timer obj c0a2f7c8!
RTMP_TimerListAdd: add timer obj c0a2f7f8!
RTMP_TimerListAdd: add timer obj c0a2f9b8!
RTMP_TimerListAdd: add timer obj c0a2f9e8!
RTMP_TimerListAdd: add timer obj c0a32938!
RTMP_TimerListAdd: add timer obj c0a3252c!
RTMP_TimerListAdd: add timer obj c0a32908!
RTMP_TimerListAdd: add timer obj c0a32cb0!
RTMP_TimerListAdd: add timer obj c0a32a00!
RTMP_TimerListAdd: add timer obj c0a32a30!
RTMP_TimerListAdd: add timer obj c0a32bf0!
RTMP_TimerListAdd: add timer obj c0a32c20!
RTMP_TimerListAdd: add timer obj c0a77d4c!
RTMP_TimerListAdd: add timer obj c0a77940!
RTMP_TimerListAdd: add timer obj c0a77d1c!
RTMP_TimerListAdd: add timer obj c0a780c4!
RTMP_TimerListAdd: add timer obj c0a77e14!
RTMP_TimerListAdd: add timer obj c0a77e44!
RTMP_TimerListAdd: add timer obj c0a77d7c!
RTMP_TimerListAdd: add timer obj c0a77dac!
RTMP_TimerListAdd: add timer obj c0a77ddc!
RTMP_TimerListAdd: add timer obj c0a9429c!
RTMP_TimerListAdd: add timer obj c0a943b8!
RTMP_TimerListAdd: add timer obj c0a942c8!
RTMP_TimerListAdd: add timer obj c0a79e84!
RTMP_TimerListAdd: add timer obj c0a19e70!
RTMP_TimerListAdd: add timer obj c0a1d0a8!
RTMP_TimerListAdd: add timer obj c0a202e0!
RTMP_TimerListAdd: add timer obj c0a23518!
RTMP_TimerListAdd: add timer obj c0a26750!
RTMP_TimerListAdd: add timer obj c0a29988!
RTMP_TimerListAdd: add timer obj c0a2cbc0!
RTMP_TimerListAdd: add timer obj c0a2fdf8!
RTMP_TimerListAdd: add timer obj c0a79b94!
!!! use RTMP_RBUS_SUPPORT: AP_PROFILE_PATH_RBUS is /var/Wireless/RT2860AP/RT2860AP.dat
APSDCapable[0]=0
APSDCapable[1]=0
APSDCapable[2]=0
APSDCapable[3]=0
APSDCapable[4]=0
APSDCapable[5]=0
APSDCapable[6]=0
APSDCapable[7]=0
APSDCapable[8]=0
APSDCapable[9]=0
APSDCapable[10]=0
APSDCapable[11]=0
APSDCapable[12]=0
APSDCapable[13]=0
APSDCapable[14]=0
APSDCapable[15]=0
default ApCliAPSDCapable[0]=0
Key1Str is Invalid key length(0) or Type(0)
Key1Str is Invalid key length(0) or Type(0)
Key2Str is Invalid key length(0) or Type(0)
Key2Str is Invalid key length(0) or Type(0)
Key3Str is Invalid key length(0) or Type(0)
Key3Str is Invalid key length(0) or Type(0)
Key4Str is Invalid key length(0) or Type(0)
Key4Str is Invalid key length(0) or Type(0)
1. Phy Mode = 9
2. Phy Mode = 9
exec!
spiflash_ioctl_read, Read from 0x007f0000 length 0x200, ret 0, retlen 0x200
eeFlashId = 0x7620!
E2PROM: D0 target power=0xff1c
E2PROM: 40 MW Power Delta= 2
3. Phy Mode = 9
RTMP_TimerListAdd: add timer obj c0a19a68!
AntCfgInit: primary/secondary ant 0/1
Initialize RF Central Registers for E2 !!!
Initialize RF Central Registers for E3 !!!
Initialize RF Channel Registers for E2 !!!
Initialize RF Channel Registers for E3 !!!
Initialize RF DCCal Registers for E2 !!!
Initialize RF DCCal Registers for E3 !!!
D1 = -3, D2 = 4, CalCode = 16 !!!
RT6352_Temperature_Init : BBPR49 = 0xfffffffd
RT6352_Temperature_Init : TemperatureRef25C = 0xfffffff3
Current Temperature from BBP_R49=0xffffffee
RT6352_TssiTableAdjust: upper_bound = 0x7F decimal: 127
RT6352_TssiTableAdjust: lower_bound = 0xFFFFFF80 decimal: -128
*** RT6352_TssiTableAdjust: G Tssi[-7 .. +7] = -128 -128 -128 -128 -128 -25 -12
 - 0 - 12 28 127 127 127 127 127, offset=-13, tuning=1
RT6352_TssiTableAdjust: G Tssi[-7 .. +7] = -128 -128 -128 -128 -128 -38 -25 - -13 - -1 15 114 114 114 114 114, offset=-13, tuning=1
mp_temperature=0xfffffffc, step = +0
E2PROM: G Tssi[-7 .. +7] = -128 -128 -128 -128 -128 -38 -25 - -13 - -1 15 114 114 114 114 114, offset=-13, tuning=1
 TX BW Filter Calibration !!!
 RX BW Filter Calibration !!!
LOFT Calibration Done!
IQCalibration Start!
IQCalibration Done! CH = 0, (gain= 3, phase=3b)
IQCalibration Start!
IQCalibration Done! CH = 1, (gain= f, phase=3f)
TX IQ Calibration Done!
bAutoTxAgcG = 1
MCS Set = ff ff 00 00 01
SYNC - BBP R4 to 20MHz.l
SYNC - BBP R4 to 20MHz.l
SYNC - BBP R4 to 20MHz.l
SYNC - BBP R4 to 20MHz.l
SYNC - BBP R4 to 20MHz.l
SYNC - BBP R4 to 20MHz.l
SYNC - BBP R4 to 20MHz.l
SYNC - BBP R4 to 20MHz.l
SYNC - BBP R4 to 20MHz.l
RTMP_TimerListAdd: add timer obj c0a7a19c!
The 4-BSSID mode is enabled, the BSSID byte5 MUST be the multiple of 4
@@@ ed_monitor_init : ===>
@@@ ed_monitor_init : <===
Main bssid = 3c:46:d8:aa:89:4f
<==== rt28xx_init, Status=0
0x1300 = 00064300
device ra0 entered promiscuous mode
br0: port 2(ra0) entering forwarding state
br0: port 2(ra0) entering forwarding state
device apcli0 entered promiscuous mode
device ra1 entered promiscuous mode
spiflash_ioctl_read, Read from 0x007f0000 length 0x2, ret 0, retlen 0x2
spiflash_ioctl_read, Read from 0x007df300 length 0x2, ret 0, retlen 0x2
WLAN-Start wlNetlinkTool
Waiting for Wireless Events from interfaces...
swWlanChkAhbErr: netlink to do
rai0      no private ioctls.

wscd: SSDP UDP PORT = 1900


=== pAd = c1002000, size = 1415808 ===

<-- RTMPAllocTxRxRingMemory, Status=0
<-- RTMPAllocAdapterBlock, Status=0
device_id =0x7650
spiflash_ioctl_read, Read from 0x007f8000 length 0x200, ret 0, retlen 0x200
eeFlashId = 0x7610!
==>MT76x0_WLAN_ChipOnOff(): OnOff:1, pAd->WlanFunCtrl:0x0, Reg-WlanFunCtrl=0xff000002
MACVersion = 0x76502000
MAC[Ver:Rev=0x76502000 : 0x76100002]
load fw spent 16ms
RX DESC a2725000 size = 4096
RX1 DESC a2726000 size = 4096
cfg_mode=14
cfg_mode=14
wmode_band_equal(): Band Not Equal!
1. Phy Mode = 49
2. Phy Mode = 49
drivers/net/wireless/MT7610_ap/chips/mt76x0.c:2362 assert (pAd->TxPower[choffset].Channel == 149)failed
drivers/net/wireless/MT7610_ap/chips/mt76x0.c:2379 assert (pAd->TxPower[choffset].Channel == 42)failed
ERROR!!! E2PROM: WRONG VERSION 0x2, should be 1
ext_pa_current_setting = 1
MT76x0_TssiTableAdjust: upper_bound = 0x7F decimal: 127
MT76x0_TssiTableAdjust: lower_bound = 0xFFFFFF80 decimal: -128
*** MT76x0_TssiTableAdjust: A Tssi[-7 .. +7] = -128 -128 -128 -128 -14 -8 -4 * 0 * 3 14 16 127 127 127 127, offset=-4, tuning=1
MT76x0_TssiTableAdjust: A Tssi[-7 .. +7] = -128 -128 -128 -128 -18 -12 -8 * -4 * -1 10 12 123 123 123 123, offset=-4, tuning=1
mp_temperature=0xfffffffc, step = +0
MT76x0_TssiTableAdjust: upper_bound = 0x7F decimal: 127
MT76x0_TssiTableAdjust: lower_bound = 0xFFFFFF80 decimal: -128
*** MT76x0_TssiTableAdjust: A Tssi[-7 .. +7] = -128 -128 -128 -128 -18 -11 -6 * -4 * 4 15 20 127 127 127 127, offset=-4, tuning=1
MT76x0_TssiTableAdjust: A Tssi[-7 .. +7] = -128 -128 -128 -128 -22 -15 -10 * -4 * 0 11 16 123 123 123 123, offset=-4, tuning=1
mp_temperature=0xfffffffc, step = +0
3. Phy Mode = 49
AntCfgInit: primary/secondary ant 0/1
ChipStructAssign(): RALINK6590 hook !
bAutoTxAgcG = 1
MCS Set = ff 00 00 00 01
MT76x0_ChipBBPAdjust():rf_bw=2, ext_ch=1, PrimCh=36, HT-CentCh=38, VHT-CentCh=42
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
APStartUp(): AP Set CentralFreq at 42(Prim=36, HT-CentCh=38, VHT-CentCh=42, BBP_BW=2)
@@@ ed_monitor_init : ===>
@@@ ed_monitor_init : <===
Main bssid = 3c:46:d8:aa:89:51
<==== rt28xx_init, Status=0
MT76x0_Calibration - Channel = 42, bPowerOn = 1, bSaveCal = 1
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
FullCalibration - Channel = 42, param = 0x301, bSave = 1, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
FullCalibration - Channel = 136, param = 0x401, bSave = 1, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
FullCalibration - Channel = 155, param = 0x501, bSave = 1, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
FullCalibration - Channel = 42, param = 0x701, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 36, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 36, param = 0x701, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 40, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 40, param = 0x701, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 44, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 44, param = 0x701, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 48, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 48, param = 0x701, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 52, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 52, param = 0x701, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 56, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 56, param = 0x701, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 60, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 60, param = 0x701, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 64, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 64, param = 0x701, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
@@@ ed_monitor_exit : ===>
@@@ ed_monitor_exit : <===
MT76x0_Calibration - Channel = 100, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 100, param = 0x801, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 104, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 104, param = 0x801, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 108, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 108, param = 0x801, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 112, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 112, param = 0x801, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 116, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 116, param = 0x801, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 120, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 120, param = 0x801, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 124, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 124, param = 0x801, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 128, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 128, param = 0x801, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 132, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 132, param = 0x801, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 136, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 136, param = 0x801, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_Calibration - Channel = 140, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 140, param = 0x901, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
MT76x0_ChipBBPAdjust():rf_bw=2, ext_ch=3, PrimCh=48, HT-CentCh=46, VHT-CentCh=42
MT76x0_ChipSwitchChannel: DefaultTargetPwr = 28
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
APStartUp(): AP Set CentralFreq at 42(Prim=48, HT-CentCh=46, VHT-CentCh=42, BBP_BW=2)
MT76x0_Calibration - Channel = 42, bPowerOn = 0, bSaveCal = 0
FullCalibration - Channel = 42, param = 0x701, bSave = 0, CalibrationMode = 255
==== 2C70 [0] ,RXBackup [0]
 RX Cal =0 , use RXBackup [0] to restore!!
 result [0]!!
@@@ ed_monitor_init : ===>
@@@ ed_monitor_init : <===
0x1300 = 00064300
RTMPDrvOpen(1):Check if PDMA is idle!
RTMPDrvOpen(2):Check if PDMA is idle!
device rai0 entered promiscuous mode
br0: port 5(rai0) entering forwarding state
br0: port 5(rai0) entering forwarding state
device apclii0 entered promiscuous mode
device rai1 entered promiscuous mode
wlNetspiflash_ioctl_read, Read from 0x007f8000 length 0x2, ret 0, retlen 0x2
linkTool is already there.
wscd: SSDP UDP PORT = 1900
sendto: No such file or directory
pid 268 send 2030 error
sendto: No such file or directory
pid 268 send 2004 error
iptables: Bad rule (does a matching rule exist in that chain?).
radvd starting
[ getPidFromPidFile ] 112:  Cann't open file: /var/run/zebra.pid.
[ getPidFromPidFile ] 112:  Cann't open file: /var/run/ripd.pid.
iptables: Bad rule (does a matching rule exist in that chain?).
iptables: Bad rule (does a matching rule exist in that chain?).
iptables: Bad rule (does a matching rule exist in that chain?).
Ralink HW NAT Module Enabled
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
iptables: Bad rule (does a matching rule exist in that chain?).
lte0: IPv6 duplicate address fe80::3e46:d8ff:feaa:8950 detected!
ip6tables: Bad rule (does a matching rule exist in that chain?).
[rsl_initWanLteIntfCfgObj 2157] init LTE module, set flowstat [enableDataLimit 0, enablePaymentDay 0, paymentDay 1, limitation 0, warningPercent 90]
[rsl_initLteWanCfgObj 2229] init LTE module, default roamingEnabled [false]
[rsl_initLteWanCfgObj 2249] init LTE module, default networkPreferredMode [2]
[rsl_initLteWanCfgObj 2269] init LTE module, default dataSwitchStatus [true]
[rsl_initLteWanCfgObj 2279] lte profile num [1], default profile [1], active profile [0]
[rsl_initLteWanCfgObj 2281] config profile num [1], default profile [1], active profile [0]
@@@ ed_status_read: pAd->false_cca_stat[12]=431,  pAd->false_cca_threshold=250 !!
@@@ ed_status_read: go to ed_monitor_exit()!!
@@@ ed_monitor_exit : ===>
@@@ ed_monitor_exit : <===

starting pid 269, tty '': '/sbin/getty -L ttyS1 115200 vt100'

Archer MR200 login: admin
Password:
Jan  1 00:01:55 login[269]: root login on 'ttyS1'
~ #

2.

MT7620 # help
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
bootm   - boot application image from memory
bootp   - boot image via network using BootP/TFTP protocol
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
erase   - erase SPI FLASH memory
go      - start application at address 'addr'
help    - print online help
iminfo  - print header information for application image
loadb   - load binary file over serial line (kermit mode)
loop    - infinite loop on address range
md      - memory display
mdio   - Ralink PHY register R/W command !!
mm      - memory modify (auto-incrementing)
mtest   - simple RAM test
nm      - memory modify (constant address)
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
rf      - read/write rf register
rtl8367 - rtl8367 switch command
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sleep   - delay execution for some time
tftpboot- boot image via network using TFTP protocol
version - print monitor version

3.

MT7620 # printenv
bootcmd=tftp
bootdelay=1
baudrate=115200
ethaddr="00:0A:EB:13:09:69"
ipaddr=192.168.1.1
serverip=192.168.1.100
stdin=serial
stdout=serial
stderr=serial

Environment size: 152/4092 bytes

4. Próba wgrania LEDE:

#Msg: UPDATE......
#Msg: ROUTE UPDATE. l_firmwareLen=7995392

[ rsl_sys_updateFirmware ] 1383:  Image is not correct(firmwareLength=0x7a0000)!

[ rdp_updateFirmware ] 293:  perror:4503

W GUI dostaję komunikat: że firmware nie pasuje i błąd 4503


Widzę że firmware ma standardowo 0x7a0000 ale oryginał ma 0x7b0000
Może to tylko to winne. szukam gdzie to zmienić.

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

4

Odp: TP-Link MR200 - wsparcie

Niestety dla 0x7b0000 to samo:
#Msg: UPDATE......
#Msg: ROUTE UPDATE. l_firmwareLen=8060928

[ rsl_sys_updateFirmware ] 1383:  Image is not correct(firmwareLength=0x7b0000)!

[ rdp_updateFirmware ] 293:  perror:4503

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

5

Odp: TP-Link MR200 - wsparcie

Więc to nie rozmiar. Ciekawe czym jest ten error 4503, może się spodziewa tego firmware do modemu dalej?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: TP-Link MR200 - wsparcie

Buduję teraz obraz dla tego MR200. Wszystko pięknie i ładnie ale zawsze coś musi nie działać.
Ledy, przyciski, lan, sysupgrade działa jak należy, ale nie wykrywa modemu (chyba na USB).

To co zmieniłem:

diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds
index 97c405d..c84b681 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -228,6 +228,13 @@ mr-102n)
     set_wifi_led "$board:green:wlan"
     set_usb_led "$board:green:usb"
     ;;
+mr200)
+    ucidef_set_led_default "power" "power" "$board:white:power" "1"
+    ucidef_set_led_netdev "lan" "lan" "$board:white:lan" "eth0"
+    set_usb_led "$board:white:4g"
+    ucidef_set_led_wlan "wlan2g" "wlan2g" "$board:white:wlan" "phy0radio"
+    ucidef_set_led_wlan "wlan5g" "wlan5g" "$board:white:wps" "phy1radio"
+    ;;
 mzk-ex750np)
     ucidef_set_led_default "power" "power" "$board:red:power" "1"
     set_wifi_led "$board:red:wifi"
diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
index 675dcc9..aa8c4f4 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -48,6 +48,7 @@ ramips_setup_interfaces()
     m2m|\
     microwrt|\
     mpr-a2|\
+    mr200|\
     ncs601w|\
     timecloud|\
     w150m|\
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index 969594d..28a3415 100644
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -148,6 +148,9 @@ get_status_led() {
     mr-102n)
         status_led="$board:amber:status"
         ;;
+    mr200)
+        status_led="$board:white:power"
+        ;;
     nw718)
         status_led="$board:amber:cpu"
         ;;
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index 98bc68c..6913291 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -286,6 +286,9 @@ ramips_board_detect() {
     *"MR-102N")
         name="mr-102n"
         ;;
+    *"MR200")
+        name="mr200"
+        ;;
     *"MT7620a + MT7530 evaluation"*)
         name="mt7620a_mt7530"
         ;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index e3a74e0..8df64d2 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -188,7 +188,8 @@ platform_check_image() {
         return 0
         ;;
     c20i|\
-    c50)
+    c50|\
+    mr200)
         [ "$magic" != "03000000" ] && {
             echo "Invalid image type."
             return 1
diff --git a/target/linux/ramips/dts/ArcherMR200.dts b/target/linux/ramips/dts/ArcherMR200.dts
new file mode 100644
index 0000000..70b445d
--- /dev/null
+++ b/target/linux/ramips/dts/ArcherMR200.dts
@@ -0,0 +1,174 @@
+/dts-v1/;
+
+#include "mt7620a.dtsi"
+
+/ {
+    compatible = "ralink,mt7620a-soc";
+    model = "TP-Link Archer MR200";
+
+    chosen {
+        bootargs = "console=ttyS0,115200";
+    };
+
+    gpio-leds {
+        compatible = "gpio-leds";
+
+        lan {
+            label = "mr200:white:lan";
+            gpios = <&gpio0 1 1>;
+        };
+        wan {
+            label = "mr200:white:wan";
+            gpios = <&gpio0 8 1>;
+        };
+        power {
+            label = "mr200:white:power";
+            gpios = <&gpio0 12 1>;
+        };
+        4g {
+            label = "mr200:white:4g";
+            gpios = <&gpio0 14 1>;
+        };
+        wps {
+            label = "mr200:white:wps";
+            gpios = <&gpio1 15 1>;
+        };
+        signal1 {
+            label = "mr200:white:signal1";
+            gpios = <&gpio2 1 1>;
+        };
+        signal2 {
+            label = "mr200:white:signal2";
+            gpios = <&gpio2 2 1>;
+        };
+        signal3 {
+            label = "mr200:white:signal3";
+            gpios = <&gpio2 3 1>;
+        };
+        signal4 {
+            label = "mr200:white:signal4";
+            gpios = <&gpio2 4 1>;
+        };
+        wlan {
+            label = "mr200:white:wlan";
+            gpios = <&gpio3 0 1>;
+        };
+    };
+
+    gpio-keys {
+        compatible = "gpio-keys";
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        reset {
+            label = "reset";
+            gpios = <&gpio0 13 1>;
+            linux,code = <0x198>;
+        };
+
+        rfkill {
+            label = "rfkill";
+            gpios = <&gpio0 9 1>;
+            linux,code = <0xf7>;
+        };
+    };
+};
+
+&gpio1 {
+    status = "okay";
+};
+
+&gpio2 {
+    status = "okay";
+};
+
+&gpio3 {
+    status = "okay";
+};
+
+&spi0 {
+    status = "okay";
+
+    m25p80@0 {
+        #address-cells = <1>;
+        #size-cells = <1>;
+        compatible = "jedec,spi-nor";
+        reg = <0>;
+        linux,modalias = "m25p80", "mx25l6405d";
+        spi-max-frequency = <10000000>;
+
+        partition@0 {
+            label = "u-boot";
+            reg = <0x0 0x20000>;
+            read-only;
+        };
+
+        partition@20000 {
+            label = "firmware";
+            reg = <0x20000 0x7a0000>;
+        };
+
+        partition@7c0000 {
+            label = "config";
+            reg = <0x7c0000 0x10000>;
+        };
+
+        rom: partition@7d0000 {
+            label = "rom";
+            reg = <0x7d0000 0x10000>;
+        };
+
+        partition@7e0000 {
+            label = "romfile";
+            reg = <0x7e0000 0x10000>;
+        };
+
+        radio: partition@7f0000 {
+            label = "radio";
+            reg = <0x7f0000 0x10000>;
+        };
+    };
+};
+
+&pinctrl {
+    state_default: pinctrl0 {
+        gpio {
+            ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd", "ephy", "spi refclk";
+            ralink,function = "gpio";
+        };
+    };
+};
+
+&ethernet {
+        mtd-mac-address = <&rom 0xf100>;
+        mediatek,portmap = "llll";
+    };
+
+&ehci {
+    status = "okay";
+};
+
+&ohci {
+    status = "okay";
+};
+
+&gsw {
+    mediatek,port4 = "ephy";
+};
+
+&wmac {
+    ralink,mtd-eeprom = <&radio 0>;
+};
+
+&pcie {
+    status = "okay";
+
+    pcie-bridge {
+        mt76@0,0 {
+            reg = <0x0000 0 0 0 0>;
+            device_type = "pci";
+            mediatek,mtd-eeprom = <&radio 32768>;
+            mediatek,2ghz = <0>;
+        };
+    };
+};
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index 003fc70..580a867 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -55,6 +55,15 @@ define Device/ArcherC50
 endef
 TARGET_DEVICES += ArcherC50
 
+define Device/ArcherMR200
+  DTS := ArcherMR200
+  KERNEL := $(KERNEL_DTB)
+  KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherMR200 -c
+  IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherMR200 -j -r $(KDIR)/root.squashfs
+  DEVICE_TITLE := TP-Link ArcherMR200
+endef
+TARGET_DEVICES += ArcherMR200
+
 define Device/ex2700
   DTS := EX2700
   BLOCKSIZE := 4k
diff --git a/tools/firmware-utils/src/mktplinkfw2.c b/tools/firmware-utils/src/mktplinkfw2.c
index 213e672..3dcc67e 100644
--- a/tools/firmware-utils/src/mktplinkfw2.c
+++ b/tools/firmware-utils/src/mktplinkfw2.c
@@ -192,6 +192,13 @@ static struct board_info boards[] = {
         .hdr_ver    = 3,
         .endian_swap    = true,
     }, {
+        .id        = "ArcherMR200",
+        .hw_id        = 0xd7500001,
+        .hw_rev        = 0x4a,
+        .layout_id    = "8Mmtk",
+        .hdr_ver    = 3,
+        .endian_swap    = true,
+    }, {
         /* terminating entry */
     }
 };

Do poprawy zostało jeszcze: partycje w mtd, plik 01_leds i zmianę żeby tworzyło firmware o długości 0x7b0000.

Jak wgram firmware zbudowane dla C50 czy C20i to modem jest normalnie wyszukany, a na MR200 nie widać.

Bootlog z mr200:

[    6.335358] usbcore: registered new interface driver usbfs
[    6.341138] usbcore: registered new interface driver hub
[    6.346672] usbcore: registered new device driver usb
[    6.363848] SCSI subsystem initialized
[    6.374265] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.382585] ehci-platform: EHCI generic platform driver
[    6.398297] phy phy-usbphy.0: remote usb device wakeup disabled
[    6.404357] phy phy-usbphy.0: UTMI 16bit 30MHz
[    6.408922] ehci-platform 101c0000.ehci: EHCI Host Controller
[    6.414831] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1
[    6.423042] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000
[    6.433470] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00
[    6.440967] hub 1-0:1.0: USB hub found
[    6.445264] hub 1-0:1.0: 1 port detected
[    6.452327] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    6.460146] ohci-platform: OHCI generic platform driver
[    6.465833] ohci-platform 101c1000.ohci: Generic Platform OHCI controller
[    6.472823] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2
[    6.481005] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000
[    6.511609] hub 2-0:1.0: USB hub found
[    6.515785] hub 2-0:1.0: 1 port detected
[    6.529023] usbcore: registered new interface driver usb-storage
[    6.539572] init: - preinit -
[    7.571712] 8021q: adding VLAN 0 to HW filter on device eth0
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug[    7.726847] random: procd: uninitialized urandom read (4 bytes read, 13 bits of entropy available)
 level
[    8.968437] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[    8.979642] urandom-seed: Seed file not found (/etc/urandom.seed)
[    9.016767] procd: - early -
[    9.019820] procd: - watchdog -
[    9.406168] procd: - ubus -
[    9.535169] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.544897] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.554183] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.563812] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.573082] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.582472] random: ubusd: uninitialized urandom read (4 bytes read, 20 bits of entropy available)
[    9.591890] random: ubusd: uninitialized urandom read (4 bytes read, 20 bits of entropy available)
[    9.601530] procd: - init -
Please press Enter to activate this console.
[    9.867096] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    9.885159] Loading modules backported from Linux version wt-2016-06-20-0-gbc17424
[    9.892961] Backport generated by backports.git backports-20160216-7-g5735958
[    9.961196] ip_tables: (C) 2000-2006 Netfilter Core Team
[    9.978525] nf_conntrack version 0.5.0 (952 buckets, 3808 max)
[   10.023120] usbcore: registered new interface driver usbserial
[   10.029177] usbcore: registered new interface driver usbserial_generic
[   10.036009] usbserial: USB Serial support registered for generic
[   10.064423] xt_time: kernel timezone is -0000
[   10.071393] usbcore: registered new interface driver cdc_ether
[   10.091322] PPP generic driver version 2.4.2
[   10.098595] NET: Registered protocol family 24
[   10.105902] usbcore: registered new interface driver rndis_host
[   10.131108] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5390, rev 0500 detected
[   10.139038] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 7620 detected
[   10.191084] usbcore: registered new interface driver option
[   10.196883] usbserial: USB Serial support registered for GSM modem (1-port)
[   11.435591] random: jshn: uninitialized urandom read (4 bytes read, 24 bits of entropy available)
[   11.508745] random: jshn: uninitialized urandom read (4 bytes read, 24 bits of entropy available)
[   15.797896] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
[   15.813808] jffs2_build_filesystem(): unlocking the mtd device... done.
[   15.820573] jffs2_build_filesystem(): erasing all blocks after the end marker...
[   20.242028] 8021q: adding VLAN 0 to HW filter on device eth0
[   20.275884] device eth0 entered promiscuous mode
[   20.299756] br-lan: port 1(eth0) entered forwarding state
[   20.305388] br-lan: port 1(eth0) entered forwarding state
[   22.303211] br-lan: port 1(eth0) entered forwarding state

bootlog z firmware C50:

[    6.280868] usbcore: registered new interface driver usbfs
[    6.286611] usbcore: registered new interface driver hub
[    6.292183] usbcore: registered new device driver usb
[    6.309579] SCSI subsystem initialized
[    6.320107] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.328390] ehci-platform: EHCI generic platform driver
[    6.344124] phy phy-usbphy.0: remote usb device wakeup disabled
[    6.350184] phy phy-usbphy.0: UTMI 16bit 30MHz
[    6.354751] ehci-platform 101c0000.ehci: EHCI Host Controller
[    6.360658] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1
[    6.368874] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000
[    6.380040] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00
[    6.387595] hub 1-0:1.0: USB hub found
[    6.391858] hub 1-0:1.0: 1 port detected
[    6.403748] usbcore: registered new interface driver usb-storage
[    6.414358] init: - preinit -
[    7.294589] 8021q: adding VLAN 0 to HW filter on device eth0
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    8.527667] mount_root: no usable overlay filesystem found, using tmpfs overlay
[    8.539098] urandom-seed: Seed file not found (/etc/urandom.seed)
[    8.641850] procd: - early -
[    8.644902] procd: - watchdog -
[    8.815072] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    9.071772] procd: - ubus -
[    9.097278] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.107047] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.116336] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.126018] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.135292] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.144714] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.154133] random: ubusd: uninitialized urandom read (4 bytes read, 19 bits of entropy available)
[    9.163807] procd: - init -
Please press Enter to activate this console.
[    9.491796] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    9.509842] Loading modules backported from Linux version wt-2016-06-20-0-gbc17424
[    9.517650] Backport generated by backports.git backports-20160216-7-g5735958
[    9.590456] ip_tables: (C) 2000-2006 Netfilter Core Team
[    9.609806] nf_conntrack version 0.5.0 (952 buckets, 3808 max)
[    9.648424] usbcore: registered new interface driver usbserial
[    9.654571] usbcore: registered new interface driver usbserial_generic
[    9.661343] usbserial: USB Serial support registered for generic
[    9.689857] xt_time: kernel timezone is -0000
[    9.696862] usbcore: registered new interface driver cdc_ether
[    9.716743] PPP generic driver version 2.4.2
[    9.724150] NET: Registered protocol family 24
[    9.731429] usbcore: registered new interface driver rndis_host
[    9.744844] usbcore: registered new interface driver option
[    9.750660] usbserial: USB Serial support registered for GSM modem (1-port)
[    9.834438] usb 1-1: USB disconnect, device number 2
[   10.720858] random: jshn: uninitialized urandom read (4 bytes read, 23 bits of entropy available)
[   10.793462] random: jshn: uninitialized urandom read (4 bytes read, 23 bits of entropy available)
[   11.013231] random: jshn: uninitialized urandom read (4 bytes read, 23 bits of entropy available)
[   15.778114] jffs2_scan_eraseblock(): End of filesystem marker found at 0xc000
[   15.797847] jffs2_build_filesystem(): unlocking the mtd device... done.
[   15.804686] jffs2_build_filesystem(): erasing all blocks after the end marker...
[   16.958969] usb 1-1: new high-speed USB device number 3 using ehci-platform
[   17.194430] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-101c0000.ehci-1, RNDIS device, 1a:bc:7d:5d:23:16
[   17.263871] usb-storage 1-1:1.6: USB Mass Storage device detected
[   17.310532] scsi host0: usb-storage 1-1:1.6
[   18.311590] scsi 0:0:0:0: Direct-Access     TP-LINK  MMC Storage           PQ: 0 ANSI: 2

tak jak by jedna linia: [    9.834438] usb 1-1: USB disconnect, device number 2
nie chciała się pojawić we właściwym firmware.

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

7

Odp: TP-Link MR200 - wsparcie

A zasilanie na USB nie jest tam czasem sterowane przez GPIO?
Masz gdzieś dobrej jakości zdjęcia PCB?

Modyfikacja U-Boot dla routerów (gotowe obrazy)
Free Your Router, Again!

Podejmę się naprawy każdego routera, wymienię RAM i FLASH (32-128 MB już dostępne!) na większy

8

Odp: TP-Link MR200 - wsparcie

dopiero jak napisałem posta to wpadłem na pomysł że może jakieś GPIO steruje tym USB
Więc wystarczy podać 1 na gpio11 i USB się włącza. 0 go wyłącza.

Dodałem:

    gpio_export {
        compatible = "gpio-export";
        #size-cells = <0>;

        power_usb {
            gpio-export,name = "power_usb1";
            gpio-export,output = <1>;
            gpios = <&gpio0 11 0>;
        };
    };

Skoro Modem jest już wykrywany to może warto było by go dodać do konfiguracji WAN?

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

9

Odp: TP-Link MR200 - wsparcie

Zapewne domyślnie tak - skoro to właśnie modem ma być wanem w domyśle.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: TP-Link MR200 - wsparcie

Gdzie zacząć? naprowadzisz?

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

11

Odp: TP-Link MR200 - wsparcie

1. obraz musi zawierać sterowniki, więc do domyślniej listy pakietów dorzuć wymagane minimium - usb, ehci, rndis
2. ustaw domyślnie wan - linux/ramips/base-files/etc/uci-defaults zrób plik specyficzny dla tego modelu (coś jak 03_wireless) i ustaw w nim przez uci wan.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: TP-Link MR200 - wsparcie

No to chyba wszystko jest OK
Jakieś propozycje co do zmian?

diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds
index 97c405d..aee1e85 100755
--- a/target/linux/ramips/base-files/etc/board.d/01_leds
+++ b/target/linux/ramips/base-files/etc/board.d/01_leds
@@ -228,6 +228,13 @@ mr-102n)
     set_wifi_led "$board:green:wlan"
     set_usb_led "$board:green:usb"
     ;;
+mr200)
+    ucidef_set_led_default "power" "power" "$board:white:power" "1"
+    ucidef_set_led_netdev "lan" "lan" "$board:white:lan" "eth0"
+    ucidef_set_led_netdev "wan" "wan" "$board:white:wan" "usb0"
+    set_usb_led "$board:white:4g"
+    ucidef_set_led_wlan "wlan" "wlan" "$board:white:wlan" "phy0radio"
+    ;;
 mzk-ex750np)
     ucidef_set_led_default "power" "power" "$board:red:power" "1"
     set_wifi_led "$board:red:wifi"
diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network
index 675dcc9..aa8c4f4 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -48,6 +48,7 @@ ramips_setup_interfaces()
     m2m|\
     microwrt|\
     mpr-a2|\
+    mr200|\
     ncs601w|\
     timecloud|\
     w150m|\
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index 969594d..28a3415 100644
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -148,6 +148,9 @@ get_status_led() {
     mr-102n)
         status_led="$board:amber:status"
         ;;
+    mr200)
+        status_led="$board:white:power"
+        ;;
     nw718)
         status_led="$board:amber:cpu"
         ;;
diff --git a/target/linux/ramips/base-files/etc/uci-defaults/02_network b/target/linux/ramips/base-files/etc/uci-defaults/02_network
new file mode 100644
index 0000000..2d91142
--- /dev/null
+++ b/target/linux/ramips/base-files/etc/uci-defaults/02_network
@@ -0,0 +1,20 @@
+#!/bin/sh
+[ ! -e /etc/config/network ] && exit 0
+
+. /lib/functions/system.sh
+. /lib/ramips.sh
+
+board=$(ramips_board_name)
+
+case "$board" in
+mr200)
+    uci add network interface
+    uci rename network.@interface[-1]='wan'
+    uci set network.wan.ifname='usb0'
+    uci set network.wan.proto='dhcp'
+    ;;
+esac
+
+uci commit network
+
+exit 0
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index 98bc68c..6913291 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -286,6 +286,9 @@ ramips_board_detect() {
     *"MR-102N")
         name="mr-102n"
         ;;
+    *"MR200")
+        name="mr200"
+        ;;
     *"MT7620a + MT7530 evaluation"*)
         name="mt7620a_mt7530"
         ;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index e3a74e0..8df64d2 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -188,7 +188,8 @@ platform_check_image() {
         return 0
         ;;
     c20i|\
-    c50)
+    c50|\
+    mr200)
         [ "$magic" != "03000000" ] && {
             echo "Invalid image type."
             return 1
diff --git a/target/linux/ramips/dts/ArcherMR200.dts b/target/linux/ramips/dts/ArcherMR200.dts
new file mode 100644
index 0000000..421a720
--- /dev/null
+++ b/target/linux/ramips/dts/ArcherMR200.dts
@@ -0,0 +1,184 @@
+/dts-v1/;
+
+#include "mt7620a.dtsi"
+
+/ {
+    compatible = "ralink,mt7620a-soc";
+    model = "TP-Link Archer MR200";
+
+    chosen {
+        bootargs = "console=ttyS0,115200";
+    };
+
+    gpio-leds {
+        compatible = "gpio-leds";
+
+        lan {
+            label = "mr200:white:lan";
+            gpios = <&gpio0 1 1>;
+        };
+        wan {
+            label = "mr200:white:wan";
+            gpios = <&gpio0 8 1>;
+        };
+        power {
+            label = "mr200:white:power";
+            gpios = <&gpio0 12 1>;
+        };
+        4g {
+            label = "mr200:white:4g";
+            gpios = <&gpio0 14 1>;
+        };
+        wps {
+            label = "mr200:white:wps";
+            gpios = <&gpio1 15 1>;
+        };
+        signal1 {
+            label = "mr200:white:signal1";
+            gpios = <&gpio2 1 1>;
+        };
+        signal2 {
+            label = "mr200:white:signal2";
+            gpios = <&gpio2 2 1>;
+        };
+        signal3 {
+            label = "mr200:white:signal3";
+            gpios = <&gpio2 3 1>;
+        };
+        signal4 {
+            label = "mr200:white:signal4";
+            gpios = <&gpio2 4 1>;
+        };
+        wlan {
+            label = "mr200:white:wlan";
+            gpios = <&gpio3 0 1>;
+        };
+    };
+
+    gpio-keys {
+        compatible = "gpio-keys";
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        reset {
+            label = "reset";
+            gpios = <&gpio0 13 1>;
+            linux,code = <0x198>;
+        };
+
+        rfkill {
+            label = "rfkill";
+            gpios = <&gpio0 9 1>;
+            linux,code = <0xf7>;
+        };
+    };
+
+    gpio_export {
+        compatible = "gpio-export";
+        #size-cells = <0>;
+
+        power_usb {
+            gpio-export,name = "power_usb1";
+            gpio-export,output = <1>;
+            gpios = <&gpio0 11 0>;
+        };
+    };
+
+};
+
+&gpio1 {
+    status = "okay";
+};
+
+&gpio2 {
+    status = "okay";
+};
+
+&gpio3 {
+    status = "okay";
+};
+
+&spi0 {
+    status = "okay";
+
+    m25p80@0 {
+        #address-cells = <1>;
+        #size-cells = <1>;
+        compatible = "jedec,spi-nor";
+        reg = <0>;
+        linux,modalias = "m25p80", "mx25l6405d";
+        spi-max-frequency = <10000000>;
+
+        partition@0 {
+            label = "u-boot";
+            reg = <0x0 0x20000>;
+            read-only;
+        };
+
+        partition@20000 {
+            label = "firmware";
+            reg = <0x20000 0x7b0000>;
+        };
+
+        rom: partition@7d0000 {
+            label = "rom";
+            reg = <0x7d0000 0x10000>;
+            read-only;
+        };
+
+        partition@7e0000 {
+            label = "romfile";
+            reg = <0x7e0000 0x10000>;
+            read-only;
+        };
+
+        radio: partition@7f0000 {
+            label = "radio";
+            reg = <0x7f0000 0x10000>;
+            read-only;
+        };
+    };
+};
+
+&pinctrl {
+    state_default: pinctrl0 {
+        gpio {
+            ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd", "ephy", "spi refclk";
+            ralink,function = "gpio";
+        };
+    };
+};
+
+&ethernet {
+        mtd-mac-address = <&rom 0xf100>;
+        mediatek,portmap = "llll";
+    };
+
+&ehci {
+    status = "okay";
+};
+
+&ohci {
+    status = "okay";
+};
+
+&gsw {
+    mediatek,port4 = "ephy";
+};
+
+&wmac {
+    ralink,mtd-eeprom = <&radio 0>;
+};
+
+&pcie {
+    status = "okay";
+
+    pcie-bridge {
+        mt76@0,0 {
+            reg = <0x0000 0 0 0 0>;
+            device_type = "pci";
+            mediatek,mtd-eeprom = <&radio 32768>;
+            mediatek,2ghz = <0>;
+        };
+    };
+};
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index 003fc70..7465d68 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -55,6 +55,16 @@ define Device/ArcherC50
 endef
 TARGET_DEVICES += ArcherC50
 
+define Device/ArcherMR200
+  DTS := ArcherMR200
+  KERNEL := $(KERNEL_DTB)
+  KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherMR200 -c
+  IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherMR200 -j -r $(KDIR)/root.squashfs
+  DEVICE_PACKAGES := kmod-usb2 kmod-ledtrig-usbdev kmod-usb-net kmod-usb-net-rndis 
+  DEVICE_TITLE := TP-Link ArcherMR200
+endef
+TARGET_DEVICES += ArcherMR200
+
 define Device/ex2700
   DTS := EX2700
   BLOCKSIZE := 4k
diff --git a/tools/firmware-utils/src/mktplinkfw2.c b/tools/firmware-utils/src/mktplinkfw2.c
index 213e672..3ab5c52 100644
--- a/tools/firmware-utils/src/mktplinkfw2.c
+++ b/tools/firmware-utils/src/mktplinkfw2.c
@@ -156,6 +156,12 @@ static struct flash_layout layouts[] = {
         .kernel_ep    = 0x80000000,
         .rootfs_ofs    = 0x140000,
     }, {
+        .id        = "8MLmtk",
+        .fw_max_len    = 0x7b0000,
+        .kernel_la    = 0x80000000,
+        .kernel_ep    = 0x80000000,
+        .rootfs_ofs    = 0x140000,
+    }, {
         /* terminating entry */
     }
 };
@@ -192,6 +198,13 @@ static struct board_info boards[] = {
         .hdr_ver    = 3,
         .endian_swap    = true,
     }, {
+        .id        = "ArcherMR200",
+        .hw_id        = 0xd7500001,
+        .hw_rev        = 0x4a,
+        .layout_id    = "8MLmtk",
+        .hdr_ver    = 3,
+        .endian_swap    = true,
+    }, {
         /* terminating entry */
     }
 };
https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

13

Odp: TP-Link MR200 - wsparcie

Modem ma swoje gui? Jeżeli nie to jak w nim ustawić apn?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: TP-Link MR200 - wsparcie

Heinz napisał/a:

No to chyba wszystko jest OK
Jakieś propozycje co do zmian?

[...]
+case "$board" in
+mr200)
+    uci add network interface
+    uci rename network.@interface[-1]='wan'
+    uci set network.wan.ifname='usb0'
+    uci set network.wan.proto='dhcp'
+    ;;
+esac
+
+uci commit network
+
+exit 0

Pewny tego jesteś? Czemu po prostu nie zrobisz "uci set network.wan=interface" (odpadnie linijka z rename)?
Poza tym sprawdź, czy nie możesz tego zrobić po prostu przy pomocy ucidef_set_interfaces_lan_wan().

+++ b/target/linux/ramips/dts/ArcherMR200.dts
@@ -0,0 +1,184 @@
+/dts-v1/;
+
+#include "mt7620a.dtsi"
+
+/ {
+    compatible = "ralink,mt7620a-soc";
+    model = "TP-Link Archer MR200";
+
+    chosen {
+        bootargs = "console=ttyS0,115200";
+    };
+
+    gpio-leds {
+        compatible = "gpio-leds";
+
+        lan {
+            label = "mr200:white:lan";
+            gpios = <&gpio0 1 1>;
+        };

ENTER

+        wan {
+            label = "mr200:white:wan";
+            gpios = <&gpio0 8 1>;
+        };

ENTER

+        power {
+            label = "mr200:white:power";
+            gpios = <&gpio0 12 1>;
+        };

ENTER

+        4g {
+            label = "mr200:white:4g";
+            gpios = <&gpio0 14 1>;
+        };

ENTER

+        wps {
+            label = "mr200:white:wps";
+            gpios = <&gpio1 15 1>;
+        };

ENTER

+        signal1 {
+            label = "mr200:white:signal1";
+            gpios = <&gpio2 1 1>;
+        };

ENTER

+        signal2 {
+            label = "mr200:white:signal2";
+            gpios = <&gpio2 2 1>;
+        };

ENTER

+        signal3 {
+            label = "mr200:white:signal3";
+            gpios = <&gpio2 3 1>;
+        };

ENTER

+        signal4 {
+            label = "mr200:white:signal4";
+            gpios = <&gpio2 4 1>;
+        };

ENTER

+        wlan {
+            label = "mr200:white:wlan";
+            gpios = <&gpio3 0 1>;
+        };
+    };
+
+    gpio-keys {
+        compatible = "gpio-keys";
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        reset {
+            label = "reset";
+            gpios = <&gpio0 13 1>;
+            linux,code = <0x198>;
+        };
+
+        rfkill {
+            label = "rfkill";
+            gpios = <&gpio0 9 1>;
+            linux,code = <0xf7>;
+        };
+    };
+
+    gpio_export {
+        compatible = "gpio-export";
+        #size-cells = <0>;
+
+        power_usb {
+            gpio-export,name = "power_usb1";
+            gpio-export,output = <1>;
+            gpios = <&gpio0 11 0>;
+        };

Zobacz jak takie GPIO są nazywane np. w ar71xx: "USBx power".

+    };
+
+};
+
+&gpio1 {
+    status = "okay";
+};
+
+&gpio2 {
+    status = "okay";
+};
+
+&gpio3 {
+    status = "okay";
+};
+
+&spi0 {
+    status = "okay";
+
+    m25p80@0 {
+        #address-cells = <1>;
+        #size-cells = <1>;
+        compatible = "jedec,spi-nor";
+        reg = <0>;
+        linux,modalias = "m25p80", "mx25l6405d";
+        spi-max-frequency = <10000000>;
+
+        partition@0 {
+            label = "u-boot";
+            reg = <0x0 0x20000>;
+            read-only;
+        };
+
+        partition@20000 {
+            label = "firmware";
+            reg = <0x20000 0x7b0000>;
+        };
+
+        rom: partition@7d0000 {
+            label = "rom";
+            reg = <0x7d0000 0x10000>;
+            read-only;
+        };
+
+        partition@7e0000 {
+            label = "romfile";
+            reg = <0x7e0000 0x10000>;
+            read-only;
+        };
+
+        radio: partition@7f0000 {
+            label = "radio";
+            reg = <0x7f0000 0x10000>;
+            read-only;
+        };
+    };
+};
+
+&pinctrl {
+    state_default: pinctrl0 {
+        gpio {
+            ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd", "ephy", "spi refclk";
+            ralink,function = "gpio";
+        };
+    };
+};
+
+&ethernet {
+        mtd-mac-address = <&rom 0xf100>;
+        mediatek,portmap = "llll";
+    };
+
+&ehci {
+    status = "okay";
+};
+
+&ohci {
+    status = "okay";
+};
+
+&gsw {
+    mediatek,port4 = "ephy";
+};
+
+&wmac {
+    ralink,mtd-eeprom = <&radio 0>;
+};
+
+&pcie {
+    status = "okay";
+
+    pcie-bridge {
+        mt76@0,0 {
+            reg = <0x0000 0 0 0 0>;
+            device_type = "pci";
+            mediatek,mtd-eeprom = <&radio 32768>;
+            mediatek,2ghz = <0>;
+        };
+    };
+};
[...]
Modyfikacja U-Boot dla routerów (gotowe obrazy)
Free Your Router, Again!

Podejmę się naprawy każdego routera, wymienię RAM i FLASH (32-128 MB już dostępne!) na większy

15

Odp: TP-Link MR200 - wsparcie

@Heinz może wypchnij to sobie na GitHubie, do jakiejś gałęzi w swoim repo, tam łatwiej komentować kod smile

Modyfikacja U-Boot dla routerów (gotowe obrazy)
Free Your Router, Again!

Podejmę się naprawy każdego routera, wymienię RAM i FLASH (32-128 MB już dostępne!) na większy

16 (edytowany przez Heinz 2016-09-24 15:11:47)

Odp: TP-Link MR200 - wsparcie

I tutaj jest problem. Modem nie ma gui, chyba jedynie komendy AT tylko nie wiem czy da się to ustawić. W oficjalnym wszystko GUI robi.

Jest możliwy dostęp przez androidowe narzędzie adb.W pakietach LEDE nie znalazłem tego, ale pobrałem paczkę z oficjalnego oprogramowania. Teraz tylko testować

@pepe2k wytłumacz mi jak to się robi bo narazie nic mi nie wychodzi.
Napiszcie jak w to robicie krok po kroku smile

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

17

Odp: TP-Link MR200 - wsparcie

Ten modem dostarcza także interfejsy szeregowe, więc dodaj moduł option i zobacz czy możesz nawiązać połączenie po prostu po ppp (http://eko.one.pl/?p=openwrt-3g#obsugam … ybierasppp) tylko zobacz na którym interfejsie będzie gadać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

18

Odp: TP-Link MR200 - wsparcie

Moduł dodałem. Kiedyś było o tym wspomniane tutaj: http://eko.one.pl/forum/viewtopic.php?p … 86#p158386

Tylko "wybadać" konfigurację. Może się da go sterować przez AT

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

19

Odp: TP-Link MR200 - wsparcie

W oryginalnym sofcie po jakim protokole się łączy? Leci po ppp czy rndisie (dhcp na usb0)?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

20

Odp: TP-Link MR200 - wsparcie

Wygląda na to że łączy po rndis.

br0       Link encap:Ethernet  HWaddr 3C:46:D8:AA:89:4F
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::3e46:d8ff:feaa:894f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:258 errors:0 dropped:0 overruns:0 frame:0
          TX packets:279 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:40948 (39.9 KiB)  TX bytes:208266 (203.3 KiB)

eth0      Link encap:Ethernet  HWaddr 3C:46:D8:AA:89:4F
          inet6 addr: fe80::3e46:d8ff:feaa:894f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:572 errors:0 dropped:0 overruns:0 frame:0
          TX packets:340 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:81020 (79.1 KiB)  TX bytes:215393 (210.3 KiB)
          Interrupt:3

eth0.6    Link encap:Ethernet  HWaddr 3C:46:D8:AA:89:4F
          inet6 addr: fe80::3e46:d8ff:feaa:894f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:516 errors:0 dropped:0 overruns:0 frame:0
          TX packets:280 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:68301 (66.7 KiB)  TX bytes:209552 (204.6 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:138 errors:0 dropped:0 overruns:0 frame:0
          TX packets:138 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:15569 (15.2 KiB)  TX bytes:15569 (15.2 KiB)

lte0      Link encap:Ethernet  HWaddr 3C:46:D8:AA:89:50
          inet addr:192.168.225.100  Bcast:192.168.225.255  Mask:255.255.255.0
          inet6 addr: fe80::3e46:d8ff:feaa:8950/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:86 errors:0 dropped:0 overruns:0 frame:0
          TX packets:79 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6034 (5.8 KiB)  TX bytes:9564 (9.3 KiB)

ra0       Link encap:Ethernet  HWaddr 3C:46:D8:AA:89:4F
          inet6 addr: fe80::3e46:d8ff:feaa:894f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:4

rai0      Link encap:Ethernet  HWaddr 3C:46:D8:AA:89:51
          inet6 addr: fe80::3e46:d8ff:feaa:8951/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:13
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=2357 ProdID=000d Rev= 2.28
S:  Manufacturer=TP-LINK Technologies Co., Ltd.
S:  Product=MR200
S:  SerialNumber=b8135db25416
C:* #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA
A:  FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03
I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_host
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=86(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=88(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

21

Odp: TP-Link MR200 - wsparcie

Więc albo albo: albo wan ustawisz domyślnie na ppp (proto=3g) albo ustawisz na proto=dhcp i usb0, ale trzeba opracować jakiś skrypt który na starcie poda apn, username i password do modemu.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

22

Odp: TP-Link MR200 - wsparcie

@Cezary modem gdzieś pamięta ustawienia jakie były na oficjalnym firmware i połączenie jest nawiązane automatycznie. Tak jak bym podłączył podłączył skonfigurowanego HiLinka.

@pepe2k udało się coś wyrzeźbić w gicie: https://github.com/heinzek/heinzek
Ustawienie "ucidef_set_interfaces_lan_wan" zadziałało lepiej niż się spodziewałem smile
Co do nazwy gpio do sterowania zasilaniem to skopiowałem z jakiegoś PBR-M1, jeśli zaproponujesz lepszą nazwę to chętnie zmienię

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

23 (edytowany przez pepe2k 2016-09-24 20:23:48)

Odp: TP-Link MR200 - wsparcie

Heinz napisał/a:

@Cezary modem gdzieś pamięta ustawienia jakie były na oficjalnym firmware i połączenie jest nawiązane automatycznie. Tak jak bym podłączył podłączył skonfigurowanego HiLinka.

@pepe2k udało się coś wyrzeźbić w gicie: https://github.com/heinzek/heinzek
Ustawienie "ucidef_set_interfaces_lan_wan" zadziałało lepiej niż się spodziewałem smile
Co do nazwy gpio do sterowania zasilaniem to skopiowałem z jakiegoś PBR-M1, jeśli zaproponujesz lepszą nazwę to chętnie zmienię

No ale dlaczego nie robisz tego w osobnej gałęzi? W ten sposób to jest strasznie niewygodne.

Zrób sobie forka lede-sources, potem ściągnij do siebie na dysk (git clone...), dodaj repo LEDE do śledzonych:
git remote add upstream https://github.com/lede-project/source.git

Potem, żeby zacząć zabawę w nowej gałęzi:
git checkout -b nazwa_galezi (tutaj sobie modyfikujesz kod i commitujesz go lokalnie)

Żeby wypchnąć nową gałąź do swojego repo:
git push -u origin nazwa_galezi (i masz nową gałąź w swoim repo, którą możesz wysłać jako PR i dosyłać do niej zmiany, przebazować, itp.).

Jak oryginalne źródła LEDE dostały update, to robisz tak (w czystym swoim repo, czyli bez niezatwierdzonych zmian):
git checkout master
git fetch upstream
git merge upstream/master
git push origin master (to Ci zaktualizuje repo na GitHubie do wersji LEDE)

I jak chcesz zaktualizować swoją gałąź (przebazować na mastera):
git checkout nazwa_galezi
git rebase master (i tutaj ewentualnie rozwiązujesz konflikty a potem wypychasz znowu)

Przy pracy na czyichś repozytoriach mam jedną zasadę - wszystko robię w innych gałęziach, nigdy w master.

Modyfikacja U-Boot dla routerów (gotowe obrazy)
Free Your Router, Again!

Podejmę się naprawy każdego routera, wymienię RAM i FLASH (32-128 MB już dostępne!) na większy

24

Odp: TP-Link MR200 - wsparcie

Wielkie dzięki @pepe2k. Takiej instrukcji mi było trzeba bo błądziłem po zakątkach internetu i odpowiedzi nie znalazłem.

https://github.com/heinzek/source/tree/mr200

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

25

Odp: TP-Link MR200 - wsparcie

Tak, modemy pamiętają ostatni apn (ustawiony przez at+cgdcont) i można zrealizować funkcję "autoapn" po prostu go nie podając. Ale - sama możliwość podania apn dla karty musi być, nie możesz bazować na tym co było kiedyś podane. Sprawdź to połączenie ppp.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.