51

Odp: TP-Link MR6400 z LTE @ LEDE

Dzięki koledze @marcoos mam okazję "przetestować" MR6400v2.

Już udało mi się uruchomić na nim LEDE, ale nie ma tak "łatwo"
rzeczy które nie działają:
- poprawne wykrywanie modelu routera - wykrywa go jako v1

root@LEDE:~# cat /tmp/sysinfo/*
tl-mr6400-v2
TP-Link TL-MR6400 v1

jak widać board jest jako v2 jednak model jako v1.
Dzieje się to przez to że v2 używa takiego samego hwid jak v1.
http://obrazki.elektroda.pl/8931566800_1501098239.png

- modem nie posiada interfejsu webowego - mimo że mam dostęp do niego za pomocą ADB to nie ma w nim "stronki" do konfiguracji.

- nie mruga dioda power podczas uruchamiania. Po zakończeniu ładowania zapala się i działa jak powinna - tutaj winą jest chyba kontroler GPIO z którego jest podłączona jest dioda power.

root@LEDE:~# cat /sys/kernel/debug/gpio
GPIOs 0-17, platform/ath79-gpio, ath79:
 gpio-0   (                    |tp-link:white:wan   ) out lo
 gpio-1   (                    |tp-link:white:4g    ) out hi
 gpio-3   (                    |tp-link:white:wps   ) out lo
 gpio-4   (                    |LTE power           ) out lo
 gpio-11  (                    |ath9k-gpio          ) out lo
 gpio-12  (                    |reset               ) in  hi
 gpio-13  (                    |ath9k-gpio          ) out hi
 gpio-14  (                    |rfkill              ) in  hi
 gpio-16  (                    |ath9k-gpio          ) out lo

GPIOs 494-511, platform/qca953x_wmac, ath9k-phy0:
 gpio-495 (                    |ath9k-phy0          ) in  lo
 gpio-505 (                    |tp-link:white:wlan  ) in  lo
 gpio-507 (                    |tp-link:white:power ) in  lo
 gpio-510 (                    |tp-link:white:lan   ) out lo

WiFi, LAN, aktualizacja oprogramowania działa jak powinna.

Nie można wgrać LEDE przez firmware producenta.

Wstępny commit:
https://github.com/heinzek/source/commi … d211e16372

bootlog:

U-Boot 1.1.4-g23c7cce0-dirty (Build from LSDK- at Mar 30 2017 - 16:31:48)

ap143 - Honey Bee 2.0

DRAM:  64 MB
Flash Manuf Id 0xc8, DeviceId0 0x40, DeviceId1 0x17
Flash:  8 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ath_gmac_enet_initialize...
ath_gmac_enet_initialize: reset mask:c02200
Scorpion ---->S27 PHY*
S27 reg init
: cfg1 0x800c0000 cfg2 0x7114
eth0: ba:be:fa:ce:08:41
athrs27_phy_setup ATHR_PHY_CONTROL 0 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 0 :10
eth0 up
Honey Bee ---->  MAC 1 S27 PHY *
S27 reg init
ATHRS27: resetting s27
ATHRS27: s27 reset done
: cfg1 0x800c0000 cfg2 0x7214
eth1: ba:be:fa:ce:08:41
athrs27_phy_setup ATHR_PHY_CONTROL 1 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 1 :10
athrs27_phy_setup ATHR_PHY_CONTROL 2 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 2 :10
athrs27_phy_setup ATHR_PHY_CONTROL 3 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 3 :10
athrs27_phy_setup ATHR_PHY_CONTROL 4 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 4 :10
eth1 up
eth0, eth1
Setting 0x181162c0 to 0x70e1a100
is_auto_upload_firmware=0
Autobooting in 1 seconds
## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... OK

Starting kernel ...

[    0.000000] Linux version 4.4.74 (hyniu@o2.pl) (gcc version 5.4.0 (LEDE GCC 5.4.0 r3994-50fcfd4) ) #0 Tue Jul 25 07:14:05 2017
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] No valid device tree found, continuing without
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line:  board=TL-MR6400-v2  console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 60100K/65536K available (2993K kernel code, 147K rwdata, 756K rodata, 320K init, 200K bss, 5436K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Clocks: CPU:650.000MHz, DDR:390.966MHz, AHB:216.666MHz, Ref:25.000MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5880801374 ns
[    0.000009] sched_clock: 32 bits at 325MHz, resolution 3ns, wraps every 6607641598ns
[    0.008237] Calibrating delay loop... 432.53 BogoMIPS (lpj=2162688)
[    0.071105] pid_max: default: 32768 minimum: 301
[    0.076104] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.083086] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.093417] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.103839] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.111055] NET: Registered protocol family 16
[    0.117368] MIPS: machine is TP-LINK TL-MR6400 v2
[    0.573481] clocksource: Switched to clocksource MIPS
[    0.580207] NET: Registered protocol family 2
[    0.585688] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.593055] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.599826] TCP: Hash tables configured (established 1024 bind 1024)
[    0.606648] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.612818] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.619785] NET: Registered protocol family 1
[    0.629082] Crashlog allocated RAM at address 0x3f00000
[    0.649268] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.655495] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.668649] io scheduler noop registered
[    0.672799] io scheduler deadline registered (default)
[    0.678577] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.685780] console [ttyS0] disabled
[    0.709702] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 1562500) is a 16550A
[    0.718811] console [ttyS0] enabled
[    0.718811] console [ttyS0] enabled
[    0.726374] bootconsole [early0] disabled
[    0.726374] bootconsole [early0] disabled
[    0.738482] m25p80 spi0.0: found gd25q64, expected w25q64
[    0.744158] m25p80 spi0.0: gd25q64 (8192 Kbytes)
[    0.750314] 5 tp-link partitions found on MTD device spi0.0
[    0.756120] Creating 5 MTD partitions on "spi0.0":
[    0.761073] 0x000000000000-0x000000020000 : "u-boot"
[    0.767774] 0x000000020000-0x000000162074 : "kernel"
[    0.774719] 0x000000162074-0x0000007f0000 : "rootfs"
[    0.781557] mtd: device 2 (rootfs) set to be root filesystem
[    0.787531] 1 squashfs-split partitions found on MTD device rootfs
[    0.793933] 0x0000003e0000-0x0000007f0000 : "rootfs_data"
[    0.801237] 0x0000007f0000-0x000000800000 : "art"
[    0.807917] 0x000000020000-0x0000007f0000 : "firmware"
[    0.839073] libphy: ag71xx_mdio: probed
[    1.426046] ag71xx-mdio.1: Found an AR934X built-in switch
[    1.469367] eth0: Atheros AG71xx at 0xba000000, irq 5, mode:GMII
[    2.066424] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:00 [uid=004dd042, driver=Generic PHY]
[    2.076623] eth1: Atheros AG71xx at 0xb9000000, irq 4, mode:MII
[    2.085177] NET: Registered protocol family 10
[    2.094476] NET: Registered protocol family 17
[    2.099165] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    2.112383] 8021q: 802.1Q VLAN Support v1.8
[    2.125413] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[    2.134983] Freeing unused kernel memory: 320K (80430000 - 80480000)
[    3.111264] init: Console is alive
[    3.115123] init: - watchdog -
[    4.147282] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.227893] usbcore: registered new interface driver usbfs
[    4.233745] usbcore: registered new interface driver hub
[    4.239345] usbcore: registered new device driver usb
[    4.251841] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    4.261043] ehci-platform: EHCI generic platform driver
[    4.266631] ehci-platform ehci-platform: EHCI Host Controller
[    4.272608] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
[    4.282924] ehci-platform ehci-platform: irq 3, io mem 0x1b000000
[    4.303516] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
[    4.310935] hub 1-0:1.0: USB hub found
[    4.315258] hub 1-0:1.0: 1 port detected
[    4.321263] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.331339] init: - preinit -
[    4.733566] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    4.791861] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
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
[    7.942644] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[    7.969091] urandom-seed: Seed file not found (/etc/urandom.seed)
[    8.090300] procd: - early -
[    8.093401] procd: - watchdog -
[    8.750348] procd: - watchdog -
[    8.754018] procd: - ubus -
[    8.991736] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[    9.001581] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[    9.011035] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[    9.020614] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[    9.030010] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[    9.039507] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[    9.049053] random: ubusd: uninitialized urandom read (4 bytes read, 16 bits of entropy available)
[    9.058807] procd: - init -
Please press Enter to activate this console.
[    9.361658] kmodloader: loading kernel modules from /etc/modules.d/*
[    9.373690] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    9.392683] Loading modules backported from Linux version wt-2017-01-31-0-ge882dff19e7f
[    9.401028] Backport generated by backports.git backports-20160324-13-g24da7d3c
[    9.412044] ip_tables: (C) 2000-2006 Netfilter Core Team
[    9.426819] nf_conntrack version 0.5.0 (944 buckets, 3776 max)
[    9.477134] usbcore: registered new interface driver usbserial
[    9.483261] usbcore: registered new interface driver usbserial_generic
[    9.490198] usbserial: USB Serial support registered for generic
[    9.516657] xt_time: kernel timezone is -0000
[    9.523433] usbcore: registered new interface driver cdc_ether
[    9.596540] PPP generic driver version 2.4.2
[    9.603924] NET: Registered protocol family 24
[    9.611134] usbcore: registered new interface driver rndis_host
[    9.648314] usbcore: registered new interface driver option
[    9.654268] usbserial: USB Serial support registered for GSM modem (1-port)
[    9.705288] ieee80211 phy0: Atheros AR9531 Rev:2 mem=0xb8100000, irq=47
[    9.804441] kmodloader: done loading kernel modules from /etc/modules.d/*
[   10.463560] usb 1-1: new high-speed USB device number 3 using ehci-platform
[   10.641805] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-ehci-platform-1, RNDIS device, ca:c6:04:e0:2e:13
[   11.017540] random: jshn: uninitialized urandom read (4 bytes read, 20 bits of entropy available)
[   11.082801] random: jshn: uninitialized urandom read (4 bytes read, 20 bits of entropy available)
[   11.238742] random: jshn: uninitialized urandom read (4 bytes read, 21 bits of entropy available)
[   16.238542] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
[   16.263640] jffs2_build_filesystem(): unlocking the mtd device... done.
[   16.270499] jffs2_build_filesystem(): erasing all blocks after the end marker...
[   20.194290] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   20.231023] device eth0.1 entered promiscuous mode
[   20.236067] device eth0 entered promiscuous mode
[   20.311286] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   20.405574] device eth1 entered promiscuous mode
[   20.410443] br-lan: port 2(eth1) entered forwarding state
[   20.416124] br-lan: port 2(eth1) entered forwarding state
[   20.421882] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   21.143865] br-lan: port 2(eth1) entered disabled state
[   39.697239] done.
[   39.699285] jffs2: notice: (910) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[   71.953527] random: nonblocking pool is initialized



BusyBox v1.26.2 () built-in shell (ash)

     _________
    /        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
 /________/  LE  \  |____|___|___/|___|                      lede-project.org
 \        \   DE /
  \    LE  \    /  -----------------------------------------------------------
   \  DE    \  /    Reboot (SNAPSHOT, r4623-3586823)
    \________\/    -----------------------------------------------------------

=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@LEDE:/#
https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

52

Odp: TP-Link MR6400 z LTE @ LEDE

W /proc/cmdline jest kernel command line. Jeżeli nie ma nic w flash co odróżniało by v2 od v1 to ew możesz użyć tego do "poprawienia" numeru wersji routera w /lib/ar71xx.sh; board i tak przekazujesz jawnie.

A tak w ogóle to good job.

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

53

Odp: TP-Link MR6400 z LTE @ LEDE

Heinz napisał/a:

- modem nie posiada interfejsu webowego - mimo że mam dostęp do niego za pomocą ADB to nie ma w nim "stronki" do konfiguracji.

Dzięki, że znalazłeś czas na spojrzenie na ten sprzęt smile

To by tłumaczyło, czemu w firmware "stockowym" pomiędzy v1 a v2 są takie różnice w zawartości. Szkoda trochę tego interfejsu web do modemu bo było w nim parę przydatnych elementów jak wymuszenie 3G/4G czy odczyt wiadomości.
Możesz zobaczyć czy dobrze kombinuje, ale jeśli serwer http modułu LTE odpowiada to powinna działać /deviceInfo/deviceInfo.htm - jako jedyny pozostał w system/webserver/www w firmware do v2
Nie patrzyłem nigdy czy przez adb jest zapis do tych folderów, ale może prymitywna podmianka zawartości folderu na to co jest w webserver w v1 zadziała biorąc pod uwagę, że moduł LTE wygląda technicznie na ten sam.

Co do wgrywania przez interfejs - to samo było w v1, ale zastanawiam się czy podmianka router.bin z kompletnej paczki tp-linka nie rozwiąże sprawy - w końcu cała reszta archiwum do ewidentnie część dla modułu LTE.

54

Odp: TP-Link MR6400 z LTE @ LEDE

Nic sensownego nie potrafię wymyśleć. W bootlogu jest:
[    0.117368] MIPS: machine is TP-LINK TL-MR6400 v2
w cmdline:
board=TL-MR6400-v2  console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd

A model nadal v1

Nie mam pomysłu co zmienić w ar71xx.sh aby to na stałe ustawić



Komunikacja z modemem jest przez komendy AT
cały "webinterfejs" jest przesyłany do klienta (httpd) który odpowiednio interpretuje dane i wyświetla je na stronie konfiguracyjnej.
Za pomocą tych komend wysyła odpowiednie zmienne aby przestawiać opcje. Może też czytać SMSy.

Komendy wyglądają tak:

at+tpweb="{"module": "status", "action":0}"
+tpweb:{"factoryDefault":true,"deviceInfo":{"model":"MR6400(EU) 2.0","hardwareVer":"MR6400(EU) 2.0(EU) v2.0","firmwareVer":"1.0.4 Build 170330 Rel.25n","mac":"00:11:22:33:44:55","imei":"86778XXXXXXXX18","simNumber":"","imsi":"2600600XXXXXX30","productRegion":"EU"},"wan":{"connectStatus":4,"ipv4":"5.x.207.196","dns1v4":"89.x.195.20","dns2v4":"185.x.185.1","ipv6":"0.0.0.0","dns1v6":"0.0.0.0","dns2v6":"0.0.0.0","networkType":2,"roaming":0,"signalStrength":4,"registerStatus":1,"roamingEnabled":false,"totalStatistics":"4779824.000000","dailyStatistics":"4779824.000000","limitation":"0.000000","enableDataLimit":false,"enablePaymentDay":false,"txSpeed":"0","rxSpeed":"0","dataLimit":0,"simStatus":3,"operatorName":"PLAY","dualIPVersionSupport":true,"connectMode":"1","totalConnTime":"0","limitType":0,"mcc":260,"mnc":6},"message":{"unreadMessages":0},"sdcard":{"status":0,"mode":0,"volume":"","used":"","left":""},"result":0}

OK

Może ktoś ma pomysł? albo walnąć jakieś "API" do obsługi komend tplinka. Widać że modem w MR200 też obsługuje ten typ komend.

Jeszcze muszę to wypróbować: https://github.com/lede-project/source/pull/641
Może będzie lepiej smile

pepe2k napisał/a:

J12 - konsola modemu (Qualcomm MSM 9625, 115200 8n1, uwaga: logika 1V8):
1 - VCC (3V3)
2 - GND
3 - RX
4 - TX

Dostęp do systemu: brak danych (na razie smile)
Log:

Spróbuj
Login: root
Hasło: oelinux1

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

55

Odp: TP-Link MR6400 z LTE @ LEDE

np.

grep -q "TL-MR6400-v2" /proc/cmdline && hwver=" v2"

w tplink_board_detect pod model="TP-Link MR6400", choć to paskudnie wygląda.

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

56

Odp: TP-Link MR6400 z LTE @ LEDE

Może i paskudnie wygląda ale działa jak należy.

Można powiedzieć że cześć routerowa jest OK. Z modemem jest trochę gorzej, ale można nim odpowiednio posterować.

Domyślnie modem ustawia sobie zdefiniowany profil według MCC i MNC.
Ustawienia modemu nie kasują się podczas aktualizacji firmware czy zwykłego rebootu(w MR200 reboot zeruje ustawienia modemu) dlatego już wstępnie można sobie utworzyć profil z połączeniem który będzie cały czas używany w LEDE.

Za pomocą komend AT można także utworzyć nowy profil połączenia oraz przełączać między nimi.
Komenda do utworzenia nowego profilu: (przykład dla aero)

at+tpweb="{"module":"wan","action":2,"profileSettings":{"list":[{"profileID":1,"profileName":"aero","pdpType":0,"ipv4Apn":"darmowy","ipv4ApnType":0,"ipv4Username":"","ipv4Password":"","ipv4AuthType":2,"ipv6Apn":"","ipv6ApnType":0,"ipv6Username":"","ipv6Password":"","ipv6AuthType":2}],"activeProfile":1,"defaultProfile":1}}"

Przełączenie profilu ( po zmianie karty) na domyślny:

at+tpweb="{"module":"wan","action":1,"profileSettings":{"list":[{"profileID":0,"profileName":"PLAY","pdpType":0,"ipv4ApnType":0,"ipv4Apn":"internet","ipv4Username":"","ipv4Password":"","ipv4AuthType":2,"ipv6Apn":"","ipv6ApnType":0,"ipv6Username":"","ipv6Password":"","ipv6AuthType":0}],"activeProfile":0,"defaultProfile":1}}"

Jak widać komenda do przełączenia profilu ma niemal identyczną składnię co do tworzenia nowego profilu. Różnica to tylko "action"
Komendą

at+tpweb="{"module": "wan", "action":0}"

Można zobaczyć listę wszystkich zapisanych profili: (odpowiedź)

+tpweb:{"dataSwitchStatus":1,"roamingEnabled":false,"networkPreferredMode":3,"connectStatus":4,"networkSelectionMode":0,"profileSettings":{"list":[{"profileID":0,"profileName":"PLAY","pdpType":0,"ipv4ApnType":0,"ipv4Apn":"internet","ipv4Username":"","ipv4Password":"","ipv4AuthType":2,"ipv6ApnType":0,"ipv6Apn":"","ipv6Username":"","ipv6Password":"","ipv6AuthType":0}],"defaultProfile":1,"activeProfile":0,"maxProfileNum":8},"cardType":0,"connectMode":1,"ispVersion":"17032101","isp_need_local_update":false,"result":0}

OK

W tej odpowiedzi jest tylko jeden profil, bo wtedy miałem utworzony tylko jeden. Oprócz profili jest jeszcze informacja na temat połączenia:
"dataSwitchStatus":1, Dane komórkowe: 0-wyłączone, 1-włączone
"roamingEnabled":false, Roaming: false-wyłączony, true-włączony
"networkPreferredMode":3, Preferowany tryb sieci: 1-tylko 4G, 2-tylko3G, 3-4G Preferowane
"connectStatus":4, Status połączenia: 0-wyłączony, 1-rozłączony, 2-łączenie, 3-rozłączanie, 4-połączony
"networkSelectionMode":0, Typ wyboru sieci: 0-automatyczny

Znając listę profili można usunąć niechciany profil poleceniem:

at+tpweb="{"module":"wan","action":3,"profileSettings":{"list":[{"profileID":3}],"activeProfile":1,"defaultProfile":1}}"

Tutaj wystarczy zmienić profileID na taki który odczytamy z listy profilów.
Można także wyłączyć/włączyć dane komórkowe poleceniem:

at+tpweb="{"module":"wan","action":1,"dataSwitchStatus":false}" 
at+tpweb="{"module":"wan","action":1,"dataSwitchStatus":true}"

Podobnie można włączyć/wyłączyć roaming:

at+tpweb="{"module":"wan","action":1,"roamingEnabled":true}"

Można sprawdzić stan połączenia:

at+tpweb="{"module":"wan","action":6}"

w odpowiedzi:

+tpweb:{"connectStatus":4,"result":0} (0 - wyłączony, 1 - rozłączony, 2 - łączenie, 3 - rozłączanie, 4 - połączony)

Jeszcze muszę sprawdzić co z pinem i jak go wprowadzać.

Tutaj kontrola modemu jest możliwa jednak trzeba by napisać skrypt który odczyta "ustawienia" z pliku i wprowadzi je do komendy AT jako zmienne i wyśle do modemu.


Dostępna jest jeszcze opcja nawiązania połączenia w trybie RAS i działa ona tylko gdy wyłączone są "Dane komórkowe" w obsłudze modemu.
Testu prędkości nie sprawdziłem ale plusem jest że Zewnętrzne IP jest na interfejsie WAN.
Dokładnie tak jak opisał to @miszka.ha w poście 23: http://eko.one.pl/forum/viewtopic.php?p … 81#p188381


Ktoś chętny na testy? A może ktoś da radę napisać skrypt?

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

57

Odp: TP-Link MR6400 z LTE @ LEDE

1. Można edytować istniejący profil?
2. Jakie kroki trzeba zrobić żeby nawiązać połączenie w mr6400v2 po wgraniu lede?

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

58

Odp: TP-Link MR6400 z LTE @ LEDE

@Heinz przeniosłem Twoją łatkę do moich źródeł. Możesz sprawdzić czy to w ogóle się uruchamia i działa?

http://dl.eko.one.pl/test/

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

59

Odp: TP-Link MR6400 z LTE @ LEDE

Heinz napisał/a:
pepe2k napisał/a:

J12 - konsola modemu (Qualcomm MSM 9625, 115200 8n1, uwaga: logika 1V8):
1 - VCC (3V3)
2 - GND
3 - RX
4 - TX

Dostęp do systemu: brak danych (na razie smile)
Log:

Spróbuj
Login: root
Hasło: oelinux1

Działa 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

60

Odp: TP-Link MR6400 z LTE @ LEDE

Cezary napisał/a:

1. Można edytować istniejący profil?

Można, polecenie identyczne jak przy zmianie profilu tylko ze zmienionymi danymi jak login czy apn.
Nie można zmienić ustawień profilu 0 bo ten jest automatycznie dobierany do włożonej karty.

Cezary napisał/a:

2. Jakie kroki trzeba zrobić żeby nawiązać połączenie w mr6400v2 po wgraniu lede?

Jeśli przed wgraniem LEDE połączenie z internetem działało to nic. Po restarcie wszystko działa.
Więc zmiana będzie potrzebna przy zmianie na karty które wymagają innego apn jak plus z zewnętrznym IP, aero które jest odczytywane jako plus. ( cyfrowy polsat pewnie tak samo). Nie wiem jak orange bo tam chyba trzeba podawać login i hasło oraz pin.

Odczyt blokad na karcie:

 at+tpweb="{"module":"simLock","action":0}"

Odpowiedzi:
Karta bez pinu:

+tpweb:{"cardState":1,"pinState":3,"pinRemainingTimes":3,"pukRemainingTimes":10,"autoUnlock":false,"result":0}

Karta z nie odblokowanym pinem:

+tpweb:{"cardState":1,"pinState":1,"pinRemainingTimes":3,"pukRemainingTimes":10,"autoUnlock":false,"result":0}

Wprowadzenie pinu:

at+tpweb="{"module":"simLock","action":4,"autoUnlock":false,"pin":"7913"}"

Można też zmienić pin:

at+tpweb="{"module":"simLock","action":3,"autoUnlock":false,"pin":"7913","newPin":"1111"}"

Wyłączyć pin:

at+tpweb="{"module":"simLock","action":2,"autoUnlock":false,"pin":"1111"}"

Włączyć pin:

at+tpweb="{"module":"simLock","action":1,"autoUnlock":false,"pin":"1111"}"

Przy włączaniu, odblokowaniu jak i zmianie pinu można zmienić opcję autounlock na true aby pin został automatycznie wpisywany.

Cezary napisał/a:

@Heinz przeniosłem Twoją łatkę do moich źródeł. Możesz sprawdzić czy to w ogóle się uruchamia i działa?
http://dl.eko.one.pl/test/

Uruchamia się, jednak nie dodałeś tego brzydkiego patcha i Luci widzi ten sprzęt jako wersja 1
http://obrazki.elektroda.pl/2249955500_1502003151.png


Jako że ten modem nie wymaga ADB do sterowania to myślę że można się go pozbyć. Tutaj znów się robi z portem serial-option. Przy ręcznym wprowadzeniu vid:pid option obsługuje aż 4 porty ( w tym jeden od adb)
Na to dorobiłem patcha który chyba trzeba będzie wrzucić do generic( żeby MR200 też był obsługiwany).

--- a/drivers/usb/serial/option.c    2017-06-26 07:13:24.000000000 +0200
+++ b/drivers/usb/serial/option.c    2017-08-05 22:00:28.237836085 +0200
@@ -522,8 +522,10 @@
 
 /* TP-LINK Incorporated products */
 #define TPLINK_VENDOR_ID            0x2357
+#define TPLINK_PRODUCT_LTE            0x000D
 #define TPLINK_PRODUCT_MA180            0x0201
 
+
 /* Changhong products */
 #define CHANGHONG_VENDOR_ID            0x2077
 #define CHANGHONG_PRODUCT_CH690            0x7001
@@ -2007,6 +2008,7 @@
     { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) },
     { USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600A) },
     { USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600E) },
+    { USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, TPLINK_PRODUCT_LTE, 0xff, 0x00, 0x00) },
     { USB_DEVICE(TPLINK_VENDOR_ID, TPLINK_PRODUCT_MA180),
       .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
     { USB_DEVICE(TPLINK_VENDOR_ID, 0x9000),                    /* TP-Link MA260 */

Po tym zabiegu port komunikacji zawsze będzie na /dev/ttyUSB0

Jaki numer nadać patchowi aby umieścić go w 4.4-generic? Pewnie do 4.9 też trzeba będzie dodać bo ramips już go używa.

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

61 (edytowany przez Cezary 2017-08-06 09:49:04)

Odp: TP-Link MR6400 z LTE @ LEDE

Tak, dziś zauważyłem to i zmieniłem obrazy smile

Usuń tą pusta linię bo zaraz Cię zjedzą za to. Zgodnie z target/linux/generic/PATCHES pewnie coś w 7xx
Jeżeli dodasz tą łatkę do obsługi modemu to usuń też to z adb-enablemodem, bo tam sztuczniej jest echo robione w new_id.

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

62

Odp: TP-Link MR6400 z LTE @ LEDE

Cezary napisał/a:

np.

grep -q "TL-MR6400-v2" /proc/cmdline && hwver=" v2"

w tplink_board_detect pod model="TP-Link MR6400", choć to paskudnie wygląda.

Ewentualnie, powinno wystarczyć takie coś w "target/linux/ar71xx/base-files/lib/ar71xx.sh" (koniecznie z adnotacją, że v1 i v2 mają takie samo hwid):

    *"TL-MR6400 v2")
        name="tl-mr6400-v2"
        AR71XX_MODEL="$machine"
        ;;
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

63

Odp: TP-Link MR6400 z LTE @ LEDE

@Cezary. Działa i jest OK. Na domyślnych ustawieniach z karty wszystko gra. Nawet pin zapisany na automatyczne wprowadzanie jest zachowany i nie trzeba go podawać.

Aktualne zmiany: https://github.com/heinzek/source/tree/mr6400v2 (3 commity)

@pepe2k sprawdzę czy zadziała.

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

64

Odp: TP-Link MR6400 z LTE @ LEDE

Czy te modemy w MR200/MR6400 raportują temperaturę układu?

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

65 (edytowany przez Heinz 2017-08-06 11:19:19)

Odp: TP-Link MR6400 z LTE @ LEDE

Normalnie to nigdzie tego nie widać, ale przez adb można normalnie odczytać:

/ # cat /sys/class/thermal/thermal_zone*/temp
42
42
43
42
42
36
36

Lub tak:

root@LEDE:/# adb shell 'cat /sys/class/thermal/thermal_zone*/temp'
41
41
42
41
41
35
36
https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

66

Odp: TP-Link MR6400 z LTE @ LEDE

Heinz wysłalem Ci wiadomośc e-mail.  Informuje w temacie bo tutaj nie ma pw.

Co to routera MR6400 też mam ten model. Ale na razie nie grzebie w nim bo jest na gwarancji.

67

Odp: TP-Link MR6400 z LTE @ LEDE

@Heinz podrzucisz mi dump z partycji U-Boot, z wersji v2?

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

68

Odp: TP-Link MR6400 z LTE @ LEDE

Dostałem komentarz od Blogic https://github.com/lede-project/source/ … -324323070

Gdzie to wysłać w upstream? i co to za opis "git style"?

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

69

Odp: TP-Link MR6400 z LTE @ LEDE

upstream w tym przypadku oznacza wysłanie do kernela żeby to było w źródłach od razu.

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

70

Odp: TP-Link MR6400 z LTE @ LEDE

@Cezary pomożesz z tym upstreamem?
Czytam to już któryś dzień ale nawet nie wiem od czego zacząć.
potrzebuję tylko do pliku /drivers/usb/serial/option.c dodać linię:

    { USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, 0x000D, 0xff, 0x00, 0x00) },

W miejsce: https://github.com/torvalds/linux/blob/ … on.c#L2016

jak zrobić poprawnego patcha? gdzie i komu to wysłać?

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

71

Odp: TP-Link MR6400 z LTE @ LEDE

Łatka jak łatka, taka sama tylko masz ją zrobić ze źródeł kernela a nie openwrt  - czyli po prostu ściągnij bieżące źródła, zrób kopię, w jednym popraw, zrób difa i masz.

A wysłać możesz np. na http://vger.kernel.org/vger-lists.html#linux-usb

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

72

Odp: TP-Link MR6400 z LTE @ LEDE

Bieżące źródła.. które to? linux-4.13? czy coś z next?

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

73

Odp: TP-Link MR6400 z LTE @ LEDE

Opiekunem usb-serial jest Johan Hovold. Jego rzeczy masz np. tu: https://git.kernel.org/pub/scm/linux/ke … erial.git/

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

74

Odp: TP-Link MR6400 z LTE @ LEDE

PS. albo Torvaldsa smile kernel/git/torvalds/linux.git

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

75

Odp: TP-Link MR6400 z LTE @ LEDE

dobra coś zrobiłem:

commit 4b3dbf9093d8b5ced1a3c13cfa4113e897eb3b16
Author: Henryk Heisig <hyniu@o2.pl>
Date:   Mon Sep 11 14:15:22 2017 +0200

    USB: serial: option: add support for TP-Link LTE module

    This commit adds support for TP-Link LTE mPCIe module is used
    in in TP-Link MR200v1, MR6400v1 and v2 routers.

    Signed-off-by: Henryk Heisig <hyniu@o2.pl>

diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index ebe51f11..abbe58c 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -522,6 +522,7 @@ static void option_instat_callback(struct urb *urb);

 /* TP-LINK Incorporated products */
 #define TPLINK_VENDOR_ID                       0x2357
+#define TPLINK_PRODUCT_LTE                     0x000D
 #define TPLINK_PRODUCT_MA180                   0x0201

 /* Changhong products */
@@ -2011,6 +2012,7 @@ static const struct usb_device_id option_ids[] = {
        { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) },
        { USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600A) },
        { USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600E) },
+       { USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, TPLINK_PRODUCT_LTE, 0xff, 0x00, 0x00) },      /* TP-Link LTE Module */
        { USB_DEVICE(TPLINK_VENDOR_ID, TPLINK_PRODUCT_MA180),
          .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
        { USB_DEVICE(TPLINK_VENDOR_ID, 0x9000),                                 /* TP-Link MA260 */

Coś zmienić?
Teraz to chyba trzeba wysłać plain textem. Jak Ty to wysyłasz? i komu to posłać? do Johana?

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