Wrzuciłem już to tutaj rok temu. Minął rok i błąd cały czas jest...
https://bugs.openwrt.org/index.php?do=d … sk_id=2638

Z mojej strony wszystko gotowe, napracowałem się cholernie, a to i tak nie działa...
Może coś nie tak z moim zgłoszeniem?

https://images90.fotosik.pl/434/c4aea39d6c81c69cgen.jpg

A czy jesli wymusze pracę routera w usb 2.0 to zwieksze limit urzadzen koncowych? Co mogę jeszcze zrobić?

Wyrzuciłem jeszcze z jądra "kmod-usb3", ale wtedy USB nie działają już wcale.
Próbowałem robić zmiany w xhci.c, ale z miernym skutkiem.
Zastanawiam się nad tym, co wnosi ta zmiana napisana 6 lat temu, nie mam jej w swojej kompilacji:
https://github.com/qdk0901/openwrt-mt76 … 7621.patch

Cezary, rozwiążmy to - wracając jeszcze do tego momentu:
https://eko.one.pl/forum/viewtopic.php? … 91#p230291


Kilka ciekawych linków na ten temat:
1. https://unix.stackexchange.com/question … ash-drives
2. https://superuser.com/questions/731751/ … vice-state
3. https://forums.gentoo.org/viewtopic-t-1 … art-0.html
4. https://patchwork.ozlabs.org/project/op … refly.com/
5. https://forum.openwrt.org/t/how-to-disa … ce/30473/4
6. https://community.intel.com/t5/Embedded … d-p/264556


A więc zrobię pomiary w v19.07.3 dla wcześniej stosowanych urządzeń:

opkg update
opkg install usbutils
lsusb -v | grep bEndpointAddress | wc -l

W takich liczbach występuje "bEndpointAddress" dla poszczególnych urządzeń:

2 - nic nie podłączone do USB, to pewnie wewnętrzny hub usb na płycie
0 - przejściówka z Mini PCI-e do USB (w sumie czysta elektryka, nie ma żadnych układów "informatycznych"
0 - Hub USB 3.0
2 - HUB USB 2.0
2 - Pendrive 2.0 32GB
2 - Dysk 2.5" HDD Seagate ST9120822AS 120GB
5 - Modem Huawei E3372h-153 w trybie HiLink
5 - Tethering USB z telefonu z systemem Android
13 - Modem Huawei E3372h-153 w trybie NDIS/NCM
17 - Modem SimCOM SIM7600E-H
27 - Modem Ericsson DW5550 2XGNJ
46 - Modem Ericsson F5321

Przykład 1:
2 (płyta) + 2 (hub 2.0) + 4x 5 (Hilink) = 24 (działa)

Przykład 2:
2 (płyta) + 2 (hub 2.0) + 3x 5 (Hilink) + 5 (tethering) = 24 (działa)

Przykład 3:
2 (płyta) + 2 (hub 2.0) + 4x 4 (Hilink) + 2 (pendrive) = 26 (działa)

Przykład 4:
2 (płyta) + 2 (hub 2.0) + 13 (ndis/ncm) + 2x 5 (Hilink) = 27 (działa)

Przykład 5:
2 (płyta) + 2 (hub 2.0) + 4x 4 (Hilink) + 2 (pendrive) + 2 (hdd) = 28 (nie działa)

Przykład 6:
2 (płyta) + 2 (hub 2.0) + 5x 5 (Hilink) = 29 (nie działa)

Przykład 7:
2 (płyta) + 2 (hub 2.0) + 4x 5 (Hilink) + 5 (tethering) = 29 (nie działa)

Przykład 8:
2 (płyta) + 2 (hub 2.0) + 13 (ndis/ncm) + 2x 5 (Hilink) + 2 (hdd) = 29 (działa)

Przykład 9:
2 (płyta) + 2 (hub 2.0) + 13 (ndis/ncm) + 2x 5 (Hilink) + 2 (hdd) + 2 (pendrive) = 29, ale nie wykrywa pendrive, coś nowego (gniazda usb urządzeń zasilane bezpośrednio z zasilacza laboratoryjnego, wspólna masa gniazd i huba):

[  587.817329] usb 1-2.4.2: new high-speed USB device number 11 using xhci-mtk
[  587.824343] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup context command completion code 0x7.
[  587.833178] usb 1-2.4.2: hub failed to enable device, error -22
[  587.937292] usb 1-2.4.2: new high-speed USB device number 12 using xhci-mtk
[  587.944294] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup context command completion code 0x7.
[  587.953202] usb 1-2.4.2: hub failed to enable device, error -22
[  587.959534] usb 1-2.4-port2: attempt power cycle
[  588.617319] usb 1-2.4.2: new high-speed USB device number 13 using xhci-mtk
[  588.624353] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup address command completion code 0x7.
[  588.847348] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup address command completion code 0x7.
[  589.067334] usb 1-2.4.2: device not accepting address 13, error -22
[  589.167310] usb 1-2.4.2: new high-speed USB device number 14 using xhci-mtk
[  589.174324] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup address command completion code 0x7.
[  589.397374] xhci-mtk 1e1c0000.xhci: ERROR: unexpected setup address command completion code 0x7.
[  589.617292] usb 1-2.4.2: device not accepting address 14, error -22
[  589.623719] usb 1-2.4-port2: unable to enumerate USB device

Przykład 10:
2 (płyta) + 2 (hub 2.0) + 27 (DW5550) = 31 (działa)

Przykład 11:
2 (płyta) + 2 (hub 2.0) + 27 (DW5550) + 2 (hdd) = 33 (działa)


To wszystko wyjaśnia trochę mój post sprzed 10 miesięcy:

tinware napisał/a:

Na ten moment zauważyłem, że w przypadku e3372h mogę użyć: czterech w trybie HiLink lub dwóch w trybie HiLink oraz jednego w trybie RAS/NCM, aby nie doszło do tego crashu jądra.

Usb 1.1 - oHCI
Usb 1.x - uHCI
Usb 2.0 - eHCI
Usb 3.0 - xHCI


opkg list-installed | grep 'usb\|hci'

kmod-ata-ahci - 4.14.180-1
kmod-sdhci-mt7620 - 4.14.180-1
kmod-usb-core - 4.14.180-1
kmod-usb-ehci - 4.14.180-1
kmod-usb-net - 4.14.180-1
kmod-usb-net-cdc-ether - 4.14.180-1
kmod-usb-net-cdc-ncm - 4.14.180-1
kmod-usb-net-huawei-cdc-ncm - 4.14.180-1
kmod-usb-serial - 4.14.180-1
kmod-usb-serial-option - 4.14.180-1
kmod-usb-serial-wwan - 4.14.180-1
kmod-usb-storage - 4.14.180-1
kmod-usb-wdm - 4.14.180-1
kmod-usb2 - 4.14.180-1
kmod-usb3 - 4.14.180-1
libusb-1.0-0 - 1.0.22-2
usb-modeswitch - 2017-12-19-f40f84c2-2
usbutils - 007-10


Czy wystarczy wykompilować pakiet "kmod-usb3" z jądra, aby wszystkie USB zaczęły działać w trybie eHCI co powinno zmniejszyć prędkość ich transferu oraz zwiększyć liczbę "bEndpointAddress"?

230

(1 odpowiedzi, napisanych Inne)

Cześć,

Próbuję wyjść danymi z mailsend do zmiennej i coś nie wychodzi:

OUTPUT_1=$( /usr/bin/mailsend ..... )
echo $OUTPUT_1

OUTPUT_2=` /usr/bin/mailsend ..... `
echo $OUTPUT_2

Jak to okiełznać smile ?

231

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

to nie są dane tekstowe które możesz czytać tylko dane binarne do odczytu jakimś programem

To będzie pewnie to, bo firma od tego interfejsu usb na pewno wprowadziła własne zabezpieczenia. Kupiłem sobie konwerter UART do CAN, aby bezpośrednio czytać z magistrali smile

232

(18 odpowiedzi, napisanych Oprogramowanie / Software)

To jeszcze raz...

Podłączam USB...

# dmesg
[   88.711359] usb 2-1: new full-speed USB device number 2 using ohci-platform

# lsusb
Bus 002 Device 002: ID 0403:fa24 Future Technology Devices International, Ltd

Wprowadzam:

# modprobe usbserial vendor=0x0403 product=0xfa24
usbserial is already loaded

# dmesg
- nie ma nic nowego w logu

Wprowadzam:

# echo "0403 fa24" > /sys/bus/usb-serial/drivers/option1/new_id

# dmesg
[  259.707835] option 2-1:1.0: GSM modem (1-port) converter detected
[  259.714464] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0

Rozumiem, że gdybym nie chciał tego robić za każdym nowym uruchomieniem routera z palca muszę dodać (ale na razie tego nie robei, i tak to nic nie zmienia):

echo "usbserial vendor=0x0403 product=0xfa24" >> /etc/modules

Dopiero teraz pojawia się urządzenie

# ls /dev/ttyUSB*
/dev/ttyUSB0

więc czytam (dokładnie >>TEN<< sam problem):

# picocom /dev/ttyUSB0
picocom v3.1

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 9600
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        :
omap is        :
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : not set
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready
`````````````````````````````````````````````````````````````````````````````````````````````````````````
Terminating...
Thanks for using picocom

Czemu takie krzaczki? Złe parametry połączenia?

Zrobiłem, wszystko co można z tej listy (Ctrl + A i Ctrl + H):

*** Picocom commands (all prefixed by [C-a])

*** [C-x] : Exit picocom
*** [C-q] : Exit without reseting serial port
*** [C-b] : Set baudrate
*** [C-u] : Increase baudrate (baud-up)
*** [C-d] : Decrease baudrate (baud-down)
*** [C-i] : Change number of databits
*** [C-j] : Change number of stopbits
*** [C-f] : Change flow-control mode
*** [C-y] : Change parity mode
*** [C-p] : Pulse DTR
*** [C-t] : Toggle DTR
*** [C-g] : Toggle RTS
*** [C-|] : Send break
*** [C-c] : Toggle local echo
*** [C-w] : Write hex
*** [C-s] : Send file
*** [C-r] : Receive file
*** [C-v] : Show port settings
*** [C-h] : Show this message

I to, zadziałało mi to w ten sposób tylko raz, zwykle nie odpowiada niczym, wisi proces bez końca

# cat /dev/ttyUSB0
```````````````````````````````````````

Zauważyłem też, że nie ważne czy jestem podłączony do gatewaya z samochodu czy nie, to "`````" jest zawsze.
To jakieś zabezpieczenie tego interfejsu OBD2, żeby używać go tylko z oryginalnym oprogramowaniem?

233

(18 odpowiedzi, napisanych Oprogramowanie / Software)

Chiński klon smile To dlatego z palca muszę uruchamiać?

234

(18 odpowiedzi, napisanych Oprogramowanie / Software)

U mnie wygląda sprawa tak:

# lsusb
Bus 002 Device 002: ID 0403:fa24 Future Technology Devices International, Ltd

No to instalujemy:

opkg update
opkg install ftdi_eeprom
opkg install kmod-usb-serial-ftdi
opkg install libftdi
opkg install libftdi1
reboot

I po starcie sprawdzamy logi:

# logread
Thu Oct 15 20:33:27 2020 kern.info kernel: [  152.637423] usb 2-1: new full-speed USB device number 2 using ohci-platform

Powinien pojawić się interfejs ttyUSBx - nie mam go... Musiałem z palca to zrobić, czemu?

echo "0403 fa24" > /sys/bus/usb-serial/drivers/option1/new_id

I wynik:

# picocom /dev/ttyUSB0
picocom v3.1

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 9600
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        :
omap is        :
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : not set
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
Terminating...
Thanks for using picocom

Rozumiem, że złe parametry połączenia?

235

(123 odpowiedzi, napisanych Inne)

SimCOM ma dobre parametry, gps i rewelacyjną cenę.
Cezary, to jaki modem następny proponujesz - może coś w NDIS/NCM?
W przypadku e3372h-153 byłem bardzo zadowolony z tego protokołu.

236

(123 odpowiedzi, napisanych Inne)

Sprawdziłem jeszcze logi w trybie RAS/PPP od razu po uruchomieniu, połączenie nawiązuje się 3 minuty po załączeniu zasilania:

# logread | grep mobile
Wed Oct 14 19:42:03 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:42:03 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:42:08 2020 kern.info kernel: [   65.799090] 3g-mobile: renamed from ppp0
Wed Oct 14 19:42:08 2020 daemon.info pppd[4837]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:42:08 2020 daemon.info pppd[4837]: Using interface 3g-mobile
Wed Oct 14 19:42:08 2020 daemon.notice pppd[4837]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:42:10 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:42:10 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:42:15 2020 kern.info kernel: [   72.973963] 3g-mobile: renamed from ppp0
Wed Oct 14 19:42:15 2020 daemon.info pppd[5451]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:42:15 2020 daemon.info pppd[5451]: Using interface 3g-mobile
Wed Oct 14 19:42:15 2020 daemon.notice pppd[5451]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:42:18 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:42:18 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:42:22 2020 kern.info kernel: [   80.089273] 3g-mobile: renamed from ppp0
Wed Oct 14 19:42:22 2020 daemon.info pppd[6086]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:42:22 2020 daemon.info pppd[6086]: Using interface 3g-mobile
Wed Oct 14 19:42:22 2020 daemon.notice pppd[6086]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:42:25 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:42:25 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:42:29 2020 kern.info kernel: [   87.104826] 3g-mobile: renamed from ppp0
Wed Oct 14 19:42:29 2020 daemon.info pppd[6582]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:42:29 2020 daemon.info pppd[6582]: Using interface 3g-mobile
Wed Oct 14 19:42:29 2020 daemon.notice pppd[6582]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:42:31 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:42:31 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:42:35 2020 kern.info kernel: [   93.275760] 3g-mobile: renamed from ppp0
Wed Oct 14 19:42:35 2020 daemon.info pppd[7072]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:42:35 2020 daemon.info pppd[7072]: Using interface 3g-mobile
Wed Oct 14 19:42:35 2020 daemon.notice pppd[7072]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:42:37 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:42:37 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:42:42 2020 kern.info kernel: [  100.023770] 3g-mobile: renamed from ppp0
Wed Oct 14 19:42:42 2020 daemon.info pppd[7732]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:42:42 2020 daemon.info pppd[7732]: Using interface 3g-mobile
Wed Oct 14 19:42:42 2020 daemon.notice pppd[7732]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:42:45 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:42:45 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:42:48 2020 kern.info kernel: [  106.717540] 3g-mobile: renamed from ppp0
Wed Oct 14 19:42:49 2020 daemon.info pppd[8359]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:42:49 2020 daemon.info pppd[8359]: Using interface 3g-mobile
Wed Oct 14 19:42:49 2020 daemon.notice pppd[8359]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:42:51 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:42:51 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:42:55 2020 kern.info kernel: [  113.585189] 3g-mobile: renamed from ppp0
Wed Oct 14 19:42:55 2020 daemon.info pppd[8969]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:42:55 2020 daemon.info pppd[8969]: Using interface 3g-mobile
Wed Oct 14 19:42:55 2020 daemon.notice pppd[8969]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:42:58 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:42:58 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:43:01 2020 kern.info kernel: [  119.667003] 3g-mobile: renamed from ppp0
Wed Oct 14 19:43:01 2020 daemon.info pppd[9340]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:43:01 2020 daemon.info pppd[9340]: Using interface 3g-mobile
Wed Oct 14 19:43:01 2020 daemon.notice pppd[9340]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:43:04 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:43:04 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:43:08 2020 kern.info kernel: [  125.757802] 3g-mobile: renamed from ppp0
Wed Oct 14 19:43:08 2020 daemon.info pppd[9958]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:43:08 2020 daemon.info pppd[9958]: Using interface 3g-mobile
Wed Oct 14 19:43:08 2020 daemon.notice pppd[9958]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:43:10 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:43:10 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:43:15 2020 kern.info kernel: [  132.838113] 3g-mobile: renamed from ppp0
Wed Oct 14 19:43:15 2020 daemon.info pppd[10599]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:43:15 2020 daemon.info pppd[10599]: Using interface 3g-mobile
Wed Oct 14 19:43:15 2020 daemon.notice pppd[10599]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:43:17 2020 daemon.notice netifd: Interface 'mobile' is now down
Wed Oct 14 19:43:17 2020 daemon.notice netifd: Interface 'mobile' is setting up now
Wed Oct 14 19:43:21 2020 kern.info kernel: [  139.111418] 3g-mobile: renamed from ppp0
Wed Oct 14 19:43:21 2020 daemon.info pppd[11223]: Renamed interface ppp0 to 3g-mobile
Wed Oct 14 19:43:21 2020 daemon.info pppd[11223]: Using interface 3g-mobile
Wed Oct 14 19:43:21 2020 daemon.notice pppd[11223]: Connect: 3g-mobile <--> /dev/ttyUSB2
Wed Oct 14 19:43:22 2020 daemon.notice netifd: Network device '3g-mobile' link is up
Wed Oct 14 19:43:22 2020 daemon.notice netifd: Interface 'mobile' is now up
Wed Oct 14 19:43:26 2020 user.notice mwan3[11643]: Execute ifup event on interface mobile (3g-mobile)
Wed Oct 14 19:43:30 2020 user.notice mwan3[11643]: Starting tracker on interface mobile (3g-mobile)
Wed Oct 14 19:43:31 2020 user.info mwan3track[12469]: Check (ping) success for target "8.8.8.8" on interface mobile (3g-mobile)
Wed Oct 14 19:43:32 2020 user.info mwan3track[12469]: Check (ping) success for target "8.8.8.8" on interface mobile (3g-mobile)
Wed Oct 14 19:43:32 2020 user.notice mwan3track[12469]: Interface mobile (3g-mobile) is online
Wed Oct 14 19:43:35 2020 user.notice mwan3[12665]: Execute ifup event on interface mobile (3g-mobile)
Wed Oct 14 19:43:36 2020 user.notice mwan3[12665]: Starting tracker on interface mobile (3g-mobile)
Wed Oct 14 20:05:43 2020 user.notice firewall: Reloading firewall due to ifup of mobile (3g-mobile)
Wed Oct 14 20:05:46 2020 user.notice firewall: Reloading firewall due to ifup of mobile (3g-mobile)

237

(123 odpowiedzi, napisanych Inne)

A jakie ma tutaj znaczenie modem? Chyba masz na myśli wsparcie tego modemu przez OpenWRT...

238

(123 odpowiedzi, napisanych Inne)

Dzisiaj sobie to potestowałem i stwierdzam, że UQMI i OpenWRT domyślnie nie ma szans działania. Odkręciłem anteny od modemu, uruchomiłem router i wkręciłem je po kilku minutach, połączenie nie zostało nawiązane, w procesach wisiały dwa zawieszone procesy uqmi. Zrobienie tego moda w sofcie, czyli dodanie timeoutów też nic nie pomoże - po ubiciu uqmi trzeba również ręcznie podnosić interfejs mimo konfiguracji force_link=1, więc... tylko dedykowany skrypt do obsługi tego buga.

239

(123 odpowiedzi, napisanych Inne)

Ta ciemna strona, ma też swoje zalety -> opensource wink
Ale nie pochwalam uqmi, ponieważ każdy program może się wykrzaczyć i powinno się go pisać tak, aby w takim wypadku zadziałał bezpiecznik, czyli timeout, więc nie mam żalu do "człowieka od skryptów połączeniowych", a raczej o samo działanie uqmi.

Przykład:
Firefox, włączasz dowolną ilość razy...
Skype - możesz włączyć tylko raz, kliknięcie na jakieś hiperłącze na stronie internetowej <a href="skype:xyz..." nie otwiera Ci kolejnego skype, bo sam skype to kontroluje...

240

(123 odpowiedzi, napisanych Inne)

Dopisałem do swojego skryptu hotplug, aby po wykryciu /dev/cdc-wdm0, który w uci show network jest skonfigurowany proto jako qmi zrobił killall uqmi oraz ifup - działa wink
Problem z uqmi jest dość spory, wiele osób ma dokładnie ten sam problem, dziwi mnie że nie został on jeszcze rozwiązany - tzn. rozwiązanie jest, ale nie ma go w oficjalnych wydaniach. Po prostu, uruchomienie dwóch uqmi nie ma szans, a jednak się da uruchomić i nie mają timeoutów, więc nie kończą procesu, potem są 3, 4, 5... procesów uqmi, które wiszą w systemie i nie umożliwiają uruchomienie kolejnych uqmi, bezsensu

# Dane wejściowe (u mnie /dev/usb0~cdc-wdm0 są symlinkiem do /dev/cdc-wdm0)
NAME="usb0"
NR="0"

# Skrypt
(...)
NETWORK=$( /sbin/uci show network | /bin/grep ".device='/dev/"$NAME"~cdc-wdm"$NR"'" | /usr/bin/awk -F '.' '{print $2}' )
if [ "$( /sbin/uci -q get network."$NETWORK".proto )" = "qmi" ]; then
  ( /bin/sleep 25 ; /usr/bin/killall uqmi ; /sbin/ifup ${NETWORK} ) &
fi
(...)

241

(123 odpowiedzi, napisanych Inne)

Z projektem zapoznam się, dzięki.

A wracając do UQMI...

uci set network.mobile.delay=120
uci commit network
reboot

Po uruchomieniu...

# logread | grep mobile
Tue Oct 13 20:57:28 2020 daemon.notice netifd: Interface 'mobile' is setting up now

Po 120 sekundach...

# logread | grep mobile
Tue Oct 13 21:25:12 2020 daemon.notice netifd: mobile (1567): Waiting for SIM initialization

# ps | grep uqmi
1965 root      1236 S    uqmi -s -d /dev/cdc-wdm0 --get-pin-status
1977 root      1212 S    grep uqmi

i tak stoi, więc ręcznie po ok. 60 sekundach

killall uqmi

i...

# logread | grep mobile
Tue Oct 13 21:26:48 2020 daemon.notice netifd: mobile (1567): Device does not support 802.3 mode. Informing driver of raw-ip only for wwan0 ..
Tue Oct 13 21:26:48 2020 daemon.notice netifd: mobile (1567): Waiting for network registration
Tue Oct 13 21:26:48 2020 daemon.notice netifd: mobile (1567): Starting network mobile
Tue Oct 13 21:26:48 2020 daemon.notice netifd: mobile (1567): Setting up wwan0
Tue Oct 13 21:26:48 2020 daemon.notice netifd: Interface 'mobile' is now up
Tue Oct 13 21:26:48 2020 daemon.notice netifd: Interface 'mobile_4' is enabled
Tue Oct 13 21:26:48 2020 daemon.notice netifd: Interface 'mobile_4' has link connectivity
Tue Oct 13 21:26:48 2020 daemon.notice netifd: Interface 'mobile_4' is setting up now
Tue Oct 13 21:26:48 2020 user.notice firewall: Reloading firewall due to ifup of mobile (wwan0)
Tue Oct 13 21:26:48 2020 daemon.notice netifd: mobile_4 (2044): udhcpc: started, v1.30.1
Tue Oct 13 21:26:49 2020 daemon.notice netifd: mobile_4 (2044): udhcpc: sending discover
Tue Oct 13 21:26:49 2020 daemon.notice netifd: mobile_4 (2044): udhcpc: sending select for 100.83.93.145
Tue Oct 13 21:26:49 2020 daemon.notice netifd: mobile_4 (2044): udhcpc: lease of 100.83.93.145 obtained, lease time 7200
Tue Oct 13 21:26:49 2020 daemon.notice netifd: Interface 'mobile_4' is now up
Tue Oct 13 21:26:49 2020 user.notice firewall: Reloading firewall due to ifup of mobile_4 (wwan0)

https://code.dopame.me/unofficial-mirro … 90ca461a67
tutaj odpowiedź na ten problem?

242

(123 odpowiedzi, napisanych Inne)

Rozwiniesz trochę tą myśl o telefonie? Jak tego używać? Mogę zadzwonić z modemu, puścić jakąś mp3? Nie mogę sobie tego wyobrazić...
Jeśli chodzi o to używanie mojego SimCOM 7600E-H to kwestią jest to, że protokołem RAS/PPP nie osiągnie maksymalnego transferu tego modemu, a NDIS/QMI jest problem w OpenWRT - nie działa automatycznie, trzeba ubijać ręcznie uqmi oraz podnosić ręcznie interfejs.

243

(123 odpowiedzi, napisanych Inne)

Cezary napisał/a:

echo "1e0e 9011" > /sys/bus/usb-serial/drivers/option1/new_id

Masz rację, to w przypadku mojego starego systemu 18.06.2.
Przeszedłem na v19.07.4 i tutaj bez problemu, ufff przełączyłem modem na tryb 9001 i powróciłem do punktu wyjścia.
Działa jak poprzednio w trybie RAS (ppp) i upośledzonym NDIS (qmi) - gdzie muszę ręcznie ubijać uqmi oraz ręcznie podnosić interfejs "ifup mobile", ponieważ force_link=1 nie działa.

Próbowałem przełączyć się na 9003:Diag, NMEA, At, Modem, Audio, MBIM - błąd.
Następnie na 9005:Diag, NMEA, At, Modem, Audio, GNSS, MBIM - udało się, ale "ifconfig" nie pokazuje żadnego interfejsu

# umbim -d /dev/cdc-wdm0 registration
  nwerror: 0000 - unknown
  registerstate: 0003 - home
  registermode: 0001 - automatic
  availabledataclasses: 0020 - lte
  currentcellularclass: 0001 - gsm
  provider_id: 26001
  provider_name: Aero2
  roamingtext: (null)

I jeszcze ciekawsza kwestia to, że znowu podciąłem sobie skrzydełka, eh :

# ls /dev/cdc* /dev/ttyUSB*
ls: /dev/ttyUSB*: No such file or directory
/dev/cdc-wdm0

Trochę się ta dokumentacja nie zgadza, miały być 7 urządzeń blokowych, jest jedno. Może mam inny firmware nagrany, a inną dokumentację hmm To teraz już pewnie tylko UART 1.8V ?

A jednak nie...

# echo "1e0e 9005" > /sys/bus/usb-serial/drivers/option1/new_id
# ls /dev/cdc* /dev/ttyUSB*
>   /dev/cdc-wdm0
>   /dev/ttyUSB0
>   /dev/ttyUSB1
>   /dev/ttyUSB2
>   /dev/ttyUSB3
>   /dev/ttyUSB4

To co jeszcze warto sprawdzić?

9000:Diag, NMEA, At, Modem, Audio, Rmnet
9001:Diag, NMEA, At, Modem, Audio, Rmnet
9002:Diag, NMEA, At, Modem, Audio, Rmnet
9003:Diag, NMEA, At, Modem, Audio, MBIM
9004:Diag, NMEA, At, Modem, Audio, GNSS, Rmnet
9005:Diag, NMEA, At, Modem, Audio, GNSS, MBIM
9006:Diag, NMEA, At,Modem
9007:Diag, NMEA, At, Modem, Audio, Rmnet,mass_storage
9011:RNDIS,Diag, NMEA, At, Modem, Audio
9016:Diag, Rmnet

AT+CUSBPIDSWITCH=?
+CUSBPIDSWITCH: (9000,9001,9002,9003,9004,9005,9006,9007,9011,9016),(0-1),(0-1)

OK
AT+CUSBPIDSWITCH?
+CUSBPIDSWITCH: 9001

Może te Qualcomy nie działają w niczym innym niż RAS/PPP i NDIS/QMI ?
Czym jest to audio (jeśli umiem liczyć /dev/ttyUSB4) ?

244

(123 odpowiedzi, napisanych Inne)

/sys/kernel/debug/usb/devices wypliwa coś takiego:

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 4.14
S:  Manufacturer=Linux 4.14.95 ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=101c0000.ehci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1e0e ProdID=9011 Rev= 3.18
S:  Manufacturer=SimTech, Incorporated
S:  Product=SimTech, Incorporated
S:  SerialNumber=0123456789ABCDEF
C:* #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA
A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
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=(none)
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=(none)
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= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
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=(none)
E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=86(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=(none)
E:  Ad=89(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=88(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= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
E:  Ad=8b(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12   MxCh= 1
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0001 Rev= 4.14
S:  Manufacturer=Linux 4.14.95 ohci_hcd
S:  Product=Generic Platform OHCI controller
S:  SerialNumber=101c1000.ohci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

245

(123 odpowiedzi, napisanych Inne)

https://pl.aliexpress.com/item/32881560339.html
Chyba taki konwerter powinien być ok? Żeby nie trzeba było konwertować poziomu napięć...

Spotkałeś się może z jakąś stacją dokującą pod taki modem - np. z mPCIe do GoldPIN ?
Czego tutaj użyć najlepiej?

246

(123 odpowiedzi, napisanych Inne)

Przydałaby się stacja dokująca pod to z mPCIe do goldpin. Rozumiem, że modem nie musi być pod zasilaniem w tym czasie? Wystarczą same sygnały z konwertera: RXD, TXD oraz GND?

247

(123 odpowiedzi, napisanych Inne)

SimCOM 7600E-H - przełączyłem CUSBPIDSWITCH z 9001 na 9011 (zobacz doksa na str. 75-76) - chciałem spróbować połączyć się w czymś innym niż RAS (PPP) oraz NDIS (qmi) i wszystko zniknęło smile

# lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 1e0e:9011 Qualcomm / Option
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
# ls /dev/cdc* /dev/ttyUSB*
ls: /dev/cdc*: No such file or directory
ls: /dev/ttyUSB*: No such file or directory

Jak mogę teraz przywrócić modem do CUSBPIDSWITCH=9001, skoro nie mam komunikacji przez AT?

https://simcom.ee/documents/SIM7600E/SI … _V1.01.pdf
Ciekawa jest str. 16 - PERST#, ale sprawdziłem i tutaj chodzi o zwykły reboot modemu, zwarłem sygnał pinu 22 do masy, poniżej caaaały log

logread
Mon Oct 12 02:32:52 2020 kern.info kernel: [  121.339191] usb 1-1: USB disconnect, device number 2
Mon Oct 12 02:33:02 2020 kern.info kernel: [  131.019813] usb 1-1: new high-speed USB device number 3 using ehci-platform

https://images90.fotosik.pl/429/6cc6862c58cfa084.jpg

Czyżby przez UART wbije się na konsolę z komendami AT? Według dokumentacji TAK.
Czy wystarczy połączyć GND oraz piny 17 i 19?

248

(22 odpowiedzi, napisanych Oprogramowanie / Software)

Zastanawiam się, czy jestem w stanie wychwycić w logu, że firmware jest właśnie nagrywany, wtedy na podstawie takiej informacji mógłbym również formatować taką kartę

249

(22 odpowiedzi, napisanych Oprogramowanie / Software)

Brakuje mi jeszcze jednej rzeczy: UUID jest zawsze ten sam dla tego samego firmware, czy dałbym radę zmienić UUID, aby został wylosowany przy pierwszej instalacji firmware?

250

(22 odpowiedzi, napisanych Oprogramowanie / Software)

/etc/config/fstab

config mount 'overlay'
        option device '/dev/mmcblk0p1'
        option target '/overlay'
        option enabled '1'

/etc/rc.local

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

# Extention Root na karcie microSD
DEVICE="/dev/mmcblk0"
PARTITION="/dev/mmcblk0p1"
LED="leds/u7621-06:green:led4"
if [ -b "${DEVICE}" ] && [ "$( /bin/df -h | /bin/grep ""${DEVICE}".*/overlay" )" = "" ] && \
[ "$( /sbin/uci -q get fstab.overlay.enabled )" = "1" ]; then
  UUID_ROM=$( /sbin/block info | /bin/grep "/rom" | /usr/bin/head -n 1 | \
  /usr/bin/awk -F 'UUID="' '{print $2}' | /usr/bin/awk -F '"' '{print $1}' )
  /bin/mkdir -p "/tmp/extroot"
  /bin/mount "${PARTITION}" "/tmp/extroot" 2&>1 > /dev/null
  UUID_SDCARD=$( /bin/cat "/tmp/extroot/etc/.extroot-uuid" 2&>1 )
  if ! ( [ "$UUID_ROM" = "$UUID_SDCARD" ] ); then
    echo "timer" > "/sys/class/"$LED"/trigger"
    echo "100" > "/sys/class/leds/"$LED"/delay_on"
    echo "100" > "/sys/class/leds/"$LED"/delay_off"
    /bin/dd if="/dev/zero" of="${DEVICE}" count=2049 2&>1 > /dev/null
    echo -e "o\nn\np\n1\n\n\nw" | /usr/sbin/fdisk "${DEVICE}" 2&>1 > /dev/null
    yes | /usr/sbin/mkfs.ext4 "${PARTITION}" 2&>1 > /dev/null
    /bin/rm -R "/tmp/extroot/lost+found" 2&>1 > /dev/null
    /bin/cp -a -f "/overlay/." "/tmp/extroot" 2&>1 > /dev/null
    echo -n "${UUID_ROM}" > "/tmp/extroot/upper/etc/.extroot-uuid"
    /bin/rm -R "/overlay/." 2&>1 > /dev/null
    echo "none" > "/sys/class/leds/"$LED"/trigger"
    echo "1" > "/sys/class/leds/"$LED"/brightness"
    reboot
  fi
  /bin/umount "${PARTITION}" 2&>1 > /dev/null
fi

exit 0

No to czas na testy... Na początku widzę problem z sekcją dd i fdisk, nie zawsze prawidłowo to działa i router kilka razy się resetuje, przez co nie wykonuje się prawidłowo backup /overlay z pamięci flash na kartę SD. Pod Debianem pracowałem na parted, ale w repozytorium OpenWRT nie widzę tego oprogramowania.