1

Temat: Bezradność USBreset wobec modem hangup

Czy poza fizycznym wypięciem modemu z gniazda aktywnego huba, w którym siedzi także pendrive z extroot jest jakaś metoda, by zaradzić zwieszkom zdarzającym się modemowi? Na modem hangup nie pomaga USBreset, ani nawet reboot, gdy hub 'aktywnie karmi zwieszkę prądem  : )

2

Odp: Bezradność USBreset wobec modem hangup

Raczej nie. Usbreset po prostu inicjuje magistralę, nie robi fizyczne nic innego z modemem.

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

3

Odp: Bezradność USBreset wobec modem hangup

Nie wiem jakiego masz huba ale to chyba zależy od niego. Np. D-Linka te aktywne huby sterują również zasilaniem każdego z portów więc być może re-inicjalizacja magistrali usb spowoduje również reset zasilania na modemie.

4

Odp: Bezradność USBreset wobec modem hangup

extroota ma. Odłączenie tak na twardo systemu plików jest złym pomysłem.

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

5 (edytowany przez rk 2013-06-02 19:10:38)

Odp: Bezradność USBreset wobec modem hangup

U mnie pomaga: usb_modeswitch -R  z parametrami identyfikującymi urządzenie ...

6

Odp: Bezradność USBreset wobec modem hangup

@byrrt W starszych D-Linkach są takie, które dla każdego portu mają diodę, choć z opisów nie wynika wprost, że można gasić je indywidualnie, niemniej to byłoby to, gdyby każdym z osobna można było rozporządzić... Ale te kosztują tyle co router, dlatego mam zaledwie Sweex'a : )

@rk usb_modeswitch -R /dev/ttyUSBx czy jak?

@Cezary Zgadza się, więc pewnie katastrofą skończyłoby się USBreset dla 1 lub 2 poniżej:
1    Generic Platform EHCI Controller    1d6b:0002   
2    USB2.0 Hub    05e3:0608   
3    HUAWEI Mobile    12d1:1506

Sprawdzam jeszcze, bo te hangupy nie są chyba definitywne - dziś zdarzył się nocą o 01:26, ale już ok. 02:00 połączenie wstało i jak dotąd kilkanaście razy planowo kończyło się i wznawiało bez przeszkód. Dodałem tylko, co jakkolwiek było już w /etc/ppp/options, także do wan w  /etc/config/network - option pppd_options 'noipdefault' - być może niepotrzebnie...

7

Odp: Bezradność USBreset wobec modem hangup

dopsz napisał/a:

@byrrt W starszych D-Linkach są takie, które dla każdego portu mają diodę, choć z opisów nie wynika wprost, że można gasić je indywidualnie, niemniej to byłoby to, gdyby każdym z osobna można było rozporządzić... Ale te kosztują tyle co router, dlatego mam zaledwie Sweex'a : )

Nie wiem jak to odnośnie programowania ale mam taki hub w pracy przy laptopie i na 100% może on włączać i wyłączać poszczególne urządzenia bo w pewnych specyficznych momentach to widać, np. gdy uśpię kompa to tylko dioda gdzie mam podłączoną mysz i klawiaturę świeci i tylko te urządzenie jest zasilane.

8

Odp: Bezradność USBreset wobec modem hangup

W niektórych __dobrych__ hubach można było, specyfikacja 2.0 to przyniosła. U mnie nawet programik do tego znajdziecie: http://ecco.selfip.net/test/

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

9

Odp: Bezradność USBreset wobec modem hangup

hub-ctrl? A jak go zainstalować, żeby czystej babskiej ciekawości dać zadość?

10

Odp: Bezradność USBreset wobec modem hangup

Ściągnij, chmod 755 hub-ctrl, uruchom.

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

11

Odp: Bezradność USBreset wobec modem hangup

A gdzie man? : ) Jak rozumieć INFO?

Hub #0 at 001:002
INFO: ganged switching.
Hub #1 at 001:001
INFO: individual power switching.
WARN: Port indicators are NOT supported.

12

Odp: Bezradność USBreset wobec modem hangup

https://code.google.com/p/wl500g/source … hub-ctrl.c

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

13 (edytowany przez dopsz 2013-06-03 21:17:32)

Odp: Bezradność USBreset wobec modem hangup

Dzięki, czyli należałoby oczekiwać, że:
Hub #0 at 001:002 - to port routera? A może ta hubowa lamka nocna : )
Hub #1 at 001:001 - to hub i niby podatny na rozkazy?
Czy mnie poniosło?

Hub #0 at 001:002
INFO: ganged switching.
Hub Port Status:
   Port 1: 0000.0503 highspeed power enable connect
   Port 2: 0000.0100 power
   Port 3: 0000.0503 highspeed power enable connect
   Port 4: 0000.0100 power
Hub #1 at 001:001
INFO: individual power switching.
WARN: Port indicators are NOT supported.
Hub Port Status:
   Port 1: 0000.0503 highspeed power enable connect


Przez extroota wolałbym nie strzelać:
"Examples:\n"
                " *   # hub-ctrl -v                 // List hubs available\n"
                " *   # hub-ctrl -P 1               // Power off at port 1\n"
                " *   # hub-ctrl -P 1 -p 1          // Power on at port 1\n"
                " *   # hub-ctrl -P 2 -l            // LED on at port 2\n"

14

Odp: Bezradność USBreset wobec modem hangup

cat /proc/bus/usb/devices Ci powie co jest co. Zresztą lsusb też możesz zrobić.

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

15

Odp: Bezradność USBreset wobec modem hangup

Ten w boldzie? Jakość za dużo cyferek do rozszyfrowania w T: (swoją drogą Dev# = 2 pasowałoby do ilości podłączonych urządzeń), ale przełożyć tego na Hub #0 at 001:002 ani Hub #1 at 001:001 nie umiem, albo piwo przeszkadza : )

lsusb brak...

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  1/800 us ( 0%), #Int=  2, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 3.03
S:  Manufacturer=Linux 3.3.8 ehci_hcd
S:  Product=Generic Platform EHCI Controller
S:  SerialNumber=ehci-platform
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= 4
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=05e3 ProdID=0608 Rev=32.98
S:  Product=USB2.0 Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=256ms

T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1506 Rev= 0.00
S:  Manufacturer=Huawei Technologies
S:  Product=HUAWEI Mobile
C:* #Ifs= 7 Cfg#= 1 Atr=c0 MxPwr=500mA
A:  FirstIf#= 1 IfCount= 2 Cls=02(comm.) Sub=00 Prot=00
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=option
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 1 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=01 Prot=09 Driver=(none)
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=08 Driver=(none)
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=03 Driver=option
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=02 Driver=option
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
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=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=3538 ProdID=0901 Rev= 1.00
S:  SerialNumber=01AC000000031C
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 98mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=16ms

16

Odp: Bezradność USBreset wobec modem hangup

Tak, to jest hub.

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

17 (edytowany przez dopsz 2013-06-05 22:26:21)

Odp: Bezradność USBreset wobec modem hangup

... i hub-ctrl -v zwraca go jako
Hub #0 at 001:002
INFO: ganged switching.
Hub Port Status:
   Port 1: 0000.0503 highspeed power enable connect
   Port 2: 0000.0100 power
   Port 3: 0000.0503 highspeed power enable connect
   Port 4: 0000.0100 power

więc ganged =/= individual, a szkoda.

Pobite gary! Pobite gary!
W ciemno zbadałem ten, który wyglądał na wolny i wyłączywszy ./hub-ctrl -P 4 po włożeniu pendrive'a cisza..., dopiero po ./hub-ctrl -P 4 -p 4 pendrive rusza, więc mogę chyba zaliczyć tego Sweexa do hubów 'dobrych' : ) Urrra!

Cezary, widzisz w z cat /proc/.... , w którym porcie siedzi modem, a w którym pendrive z extroot?

OK, organoleptycznie wyszło, że modem, to Port 1, więc hub-ctrl -P 1 wyłącza - raczej komunikację z portem niż jego zasialnie, bo po modemie nie widać, żeby coś się działo - trwa nawet w świeceniu diodą połączenia, za to widać w logread, że go odłączono. hub-ctrl -P 1 -p 1 włącza go na powrót do gry.
Zbadam, jak wydarzy się jakiś hangup, czy pomoże, ale ten jakoś nie chce wystąpić mimo, że modem dostaje w kość.

I wracając jeszcze do tematu - pierwszy hangup zdarzył się dopiero po dwóch dniach:

Jun  5 21:16:19 Gargoyle daemon.info pppd[6590]: No response to 5 echo-requests
Jun  5 21:16:19 Gargoyle daemon.notice pppd[6590]: Serial link appears to be disconnected.
Jun  5 21:16:19 Gargoyle daemon.info pppd[6590]: Connect time 83.1 minutes.
Jun  5 21:16:19 Gargoyle daemon.info pppd[6590]: Sent 48049976 bytes, received 1458727749 bytes.
Jun  5 21:16:20 Gargoyle daemon.notice netifd: Interface 'wan' has lost the connection
Jun  5 21:16:26 Gargoyle daemon.notice pppd[6590]: Connection terminated.
Jun  5 21:16:27 Gargoyle daemon.notice pppd[6590]: Modem hangup

ale pppd już po 30 sek. sam sobie z nim poradził.

18

Odp: Bezradność USBreset wobec modem hangup

Odkopałem to, żeby nie mnożyć bytów, chcąc zapytać o coś, co produkuje się u mnie w wyniku obsługi tych sporadycznie, ale jednak występujących zawieszeń modemu. Skutecznie, jak dotąd (3x na przestrzeni uptime >4d modemu palcem nie tknąłem), wydaje się, że pomaga wysłanie do modemu kombinacji, o której ktoś gdzieś tu wspominał w laicki, sklecony metodą prób i błędów obserwacjami pod picocom sposób, mianowicie:

/usr/bin/gcom -v -d /dev/ttyUSB0 -s /etc/gcom/resetmodem.gcom

takiej treści:

opengt
 set com 115200n81
 set comecho off
 set senddelay 0.02
 waitquiet 0.2 0.2
 flash 0.1

:start
 send "AT+CFUN=4^m"
 get 1 "" $s
 print $s
 sleep 5
 send "ATZ^m"
 get 1 "" $s
 print $s
 sleep 5
 send "AT+CFUN=6^m"
 get 1 "" $s
 print $s

:continue
 exit 0

Ostatnie AT+CFUN=6 dawało w picocom Segmentation fault, ale tylko tak modem się podnosił i chciał zwracać '1' po AT+CFUN=?

Pytanie natomiast jest o zrzucany po takim zdarzeniu log /tmp/gcom.XXXXXXXXXXXXXXXXXX.core, w którym, poza ciągami instrukcji gcom, da się wyczytać dosłownie wszystko o konfiguracji routera. Brakuje tylko, żeby na końcu było sendmail sąsiedzi exitcode=EX_OK : )
Nie zrzucałby pewnie, gdyby nie było usterek w sekwencji, więc może ktoś, więc jak to elegancko zrobić?

POzdrawiam

19

Odp: Bezradność USBreset wobec modem hangup

Core jest zrzutem pamięci jak się wysypał, to funkcja kernela.

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

20

Odp: Bezradność USBreset wobec modem hangup

Nie wiem jaki masz modem,
w moim modemie Huawei E3131 komenda AT^RESET powoduje sprzętowy reset modemu,
włącznie z tym że się "odpina" od magistrali USB i po chwili "podpina" na nowo.
Być może w innych modemach Huawei też to zadziała.