Portál AbcLinuxu, 8. května 2025 04:35

Dotaz: USB modem nefunguje na Raspberry Pi

12.3.2021 18:43 hal_sk
USB modem nefunguje na Raspberry Pi
Přečteno: 595×
Odpovědět | Admin
Ahoj,

Nedarí sa mi zprovozniť USB modem Huawei K5150 na Raspberry Pi 4 s Linuxom openHABian (založený na Raspbian). Za posledných 48 hodín som prečítal mnoho fór a vyskúšal mnoho postupov, ale nič nefungovalo. USB modem funguje vo WIndows 10 normálne, takže modem je ok. Robím toto:

Zapojím USB modem do USB portu.

Príkazom [i]lsusb[/i] si nechám vypísať zoznam USB zariadení:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 003: ID 12d1:1f16 Huawei Technologies Co., Ltd. K5150 LTE modem (Mass Storage Mode)

Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Z výpisu vidno, že USB modem je síce rozoznaný, ale pracuje v režime "Mass Storage Mode". To asi potrebujem prepnúť do režimu "modem", alebo také niečo. Nikdy sa mi to nepodarilo. Pokus o zmenu módu zlyhá:

openhabian@openhabian:/usr/share/usb_modeswitch $ usb_modeswitch -v 12d1 -p 1f16 -c 12d1:1f16

Look for target devices ...

No devices in target mode or class found

Look for default devices ...

Found devices in default mode (1)

Access device 003 on bus 001

Error opening the device. Abort

alebo...

openhabian@openhabian:/usr/share/usb_modeswitch $ usb_modeswitch -v 12d1 -p 1575 -c 12d1:15ec

Look for target devices ...

No devices in target mode or class found

Look for default devices ...

No devices in default mode found. Nothing to do. Bye!

Možné riešenia, ktoré mi nezabrali, alebo som ich nevykonal správne:

https://www.abclinuxu.cz/hardware/pripojeni-na-sit/cdma-umts/vodafone-huawei-k5150

https://askubuntu.com/questions/1145645/huawei-e3131-modem-shows-as-mass-storage

https://www.draisberghof.de/usb_modeswitch

https://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=1945

https://devicehunt.com/view/type/usb/vendor/12D1/device/1575

https://www.youtube.com/watch?v=PmlImVE1QZY

Info o HW a SW:

Operating System: Raspbian GNU/Linux 10 (buster)

Kernel: Linux 5.10.17-v7l+

Raspberry Pi 4, všetky USB porty voľné okrem toho jedného kde je modem, do LAN portu je zapojený ethernet kábel z routra a Raspberry ovládam cez SSH z iného počítača v rámci domácej siete.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 12.3.2021 19:00 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co tak jeden z těchto postupů:
# -J (huawei-new-mode)
usb_modeswitch -W -J -v 12d1 -p 1575 -c 12d1:15ec

# -H (huawei-mode) 
usb_modeswitch -W -H -v 12d1 -p 1575 -c 12d1:15ec


# -X (huawei-alt-mode)
usb_modeswitch -W -X -v 12d1 -p 1575 -c 12d1:15ec
Zdar Max
Měl jsem sen ... :(
Max avatar 12.3.2021 19:06 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi
Jinak ještě jeden tip. Prý to někdy může na mass storage zakleknout tak, že se to nedokáže přeswitchnout a je třeba to řešit automatikou. Zkus si tedy zapnout ještě logování v "/etc/usb_modeswitch.conf" a co tak koukám, je tam možnost zapnout alt mode pro huawei, default je 0, tak zkus zapnout na 1, pak restart a zkus znovu.
Zdar Max
Měl jsem sen ... :(
12.3.2021 20:42 hal_sk
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi

Dík za tip, ale zdá sa, že to nefunguje. Najprv som vyskúšal tú trojicu príkazov bez úpravy konfiguráku.
Tu je výstup.

Potom som vyskúšal to isté po úprave konfiguráku a reštarte R-Pi (logovanie + huawei alt mode). Výstup je však rovnaký. A vznikol log, ktorého celý obsah prikladám nižšie. Zdá sa, systém ten modem prepína do "Mass storage mode" by default a je s tým ešte spokojný, ako dobre to prepol.

USB_ModeSwitch log from Fri Mar 12 20:20:03 CET 2021
Use global config file: /etc/usb_modeswitch.conf
Raw parameters: {--switch-mode} {1-1.2:1.0}
Use top device dir /sys/bus/usb/devices/1-1.2
Check class of first interface ...
Interface 0 class is 08.
----------------
USB values from sysfs:   manufacturer	Vodafone (Huawei)
product	K5150
serial	FFFFFFFFFFFFFFFF
----------------
Found packed config collection /usr/share/usb_modeswitch/configPack.tar.gz
ConfigList: /usr/share/usb_modeswitch/12d1:1f16 pack/12d1:1f16 pack/ 
SCSI attributes not needed, move on 
Check config: /usr/share/usb_modeswitch/12d1:1f16 ! matched.
Read config data Alternative Huawei mode set globally, modify config Device may have an MBIM configuration, check driver ...
driver for MBIM devices is available Find MBIM configuration number ...
Command line: usb_modeswitch -W -D  -b 1 -g 3 -v 12d1 -p 1f16 -f $flags(config)
Verbose debug output of usb_modeswitch and libusb follows (Note that some USB errors are to be expected in the process)
--------------------------------
Read long config from command line
* usb_modeswitch: handle USB devices with multiple modes
* Version 2.5.2 (C) Josua Dietze 2017
* Based on libusb1/libusbx   
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor=  0x12d1 DefaultProduct= 0x1f16 Configuration=0x02
System integration mode enabled
Use given bus/device number: 001/003 ...
Look for default devices ...
bus/device number matched
found USB ID 12d1:1f16
vendor ID matched
product ID matched
Found devices in default mode (1)
Get the current device configuration ...
Current configuration number is 1
Use interface number 0  with class 8
USB description data (for identification)
-------------------------
Manufacturer: Vodafone (Huawei)      
Product: K5150   
Serial No.: FFFFFFFFFFFFFFFF 
------------------------- 
Change configuration to 2 ... 
Looking for active drivers ...  
OK, driver detached  
OK, configuration set 
Get the current device configuration ... 
The configuration was set successfully ok:busdev 
-------------------------------- 
(end of usb_modeswitch output)  
Check success of mode switch for max. 20 seconds ...  
Read attributes ...  
All attributes matched Mode switching was successful, 
found 12d1:1f16 (Vodafone (Huawei): K5150) 
Logger is /usr/bin/logger 
Check for AVOID_RESET_QUIRK kernel attribute  AVOID_RESET_QUIRK activated  
All done, exit 
Max avatar 12.3.2021 21:55 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi
Pardon, soráč, spletl jsem si ID, správně má býžt skutečně "-c 12d1:1f16"
Zdar Max
Měl jsem sen ... :(
Max avatar 12.3.2021 22:04 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi
Takže nic, víc asi teda neporadím.
Zdar Max
Měl jsem sen ... :(
Max avatar 12.3.2021 22:08 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi
Ještě teda místo toho alt mode zkus s tím new mode, teď už se snad nespletu, takže:
usb_modeswitch -W -J -v 12d1 -p 1f16 -c 12d1:1f16
A samozřejmě platí, že před jakýmkoli testem vždy udělej power off RPi (odpojení od napájení + nechat 15s off a pak znovu zapojit). Jde otitž o to, že usb modemy a věci okolo jsou pěkná prasárna, takže si před každým testem tímto poweroff na nějakou dobu zajistíš vyčištění dočasných registrů na veškerým hw.
Zdar Max
Měl jsem sen ... :(
13.3.2021 01:35 hal_sk
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi
Škoda, nepomohlo...
pi@raspberrypi:/usr/share/usb_modeswitch $ usb_modeswitch -W -J -v 12d1 -p 1f16 -c 12d1:1f16

Read config file: 12d1:1f16

* usb_modeswitch: handle USB devices with multiple modes * Version 2.5.2 (C) Josua Dietze 2017 * Based on libusb1/libusbx

! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor= 0x12d1 DefaultProduct= 0x1f16 TargetVendor= 0x12d1 TargetProductList="14f8,1575" OptionMode=1

Look for target devices ... found USB ID 1d6b:0003 found USB ID 12d1:1f16 vendor ID matched found USB ID 2109:3431 found USB ID 1d6b:0002 No devices in target mode or class found Look for default devices ... found USB ID 1d6b:0003 found USB ID 12d1:1f16 vendor ID matched product ID matched found USB ID 2109:3431 found USB ID 1d6b:0002 Found devices in default mode (1) Access device 003 on bus 001 libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/003: Permission denied libusb: error [_get_usbfs_fd] libusb requires write access to USB device nodes. Error opening the device. Abort

pi@raspberrypi:/usr/share/usb_modeswitch $ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 12d1:1f16 Huawei Technologies Co., Ltd. K5150 LTE modem (Mass Storage Mode) Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub pi@raspberrypi:/usr/share/usb_modeswitch $
Max avatar 13.3.2021 01:48 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi
Nespustil jsi to jako root/ přes sudo, proto ti to hlásí "Permission denied"
Zdar Max
Měl jsem sen ... :(
13.3.2021 08:57 hal_sk
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi
... medzitým som natrafil na tento návod, vyzerá to slubne, neskôr dám vedieť ako som dopadol... https://voyager.lupomesky.cz/howto/raspi-4g-ap/
13.3.2021 08:46 hal_sk
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi
Sorry, na sudo často zabúdam. Prikladám aktuálny výstup. Hláška na konci za "Error" je asi najdôležitejšia, ale neviem čo znamená.
pi@raspberrypi:/usr/share/usb_modeswitch $ sudo usb_modeswitch -W -J -v 12d1 -p 1f16 -c 12d1:1f16

Read config file: 12d1:1f16

* usb_modeswitch: handle USB devices with multiple modes * Version 2.5.2 (C) Josua Dietze 2017 * Based on libusb1/libusbx

! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor= 0x12d1 DefaultProduct= 0x1f16 TargetVendor= 0x12d1 TargetProductList="14f8,1575" OptionMode=1

Look for target devices ... found USB ID 1d6b:0003 found USB ID 12d1:1f16 vendor ID matched found USB ID 2109:3431 found USB ID 1d6b:0002 No devices in target mode or class found Look for default devices ... found USB ID 1d6b:0003 found USB ID 12d1:1f16 vendor ID matched product ID matched found USB ID 2109:3431 found USB ID 1d6b:0002 Found devices in default mode (1) Access device 003 on bus 001 Get the current device configuration ... Current configuration number is 2 Use interface number 0 with class 2 Error: can't use storage command in MessageContent with interface 0; interface class is 2, expected 8. Abort
Max avatar 13.3.2021 11:18 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi
Hele, jseš si jistý, že to opravdu už nemáš přepnutý do modemu? Ta chybová hláška na konci podle všeho znamená, že se to zkouší přepnout z mass storage a v mass storage módě to už není. Pak to vyblije tu chybu.
Zdar Max
Měl jsem sen ... :(
13.3.2021 22:14 hal_sk
Rozbalit Rozbalit vše Re: USB modem nefunguje na Raspberry Pi

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.