Bug#523999: usb-modeswitch: Issues with switching the ZTE MF636 modem
Tirsdag 14. april 2009 11:11, skrev Didier Raboud: The commandline that you are using is in the rules file at line 156: #SUBSYSTEM==usb, SYSFS{idVendor}==19d2, SYSFS{idProduct}==2000, RUN+=/usr/sbin/usb_modeswitch --DefaultVendor 0x19d2 --DefaultProduct 0x2000 --MessageEndpoint 0x01 --MessageContent 555342431234567820008c85010101180101010101000 0 But it is commented. Just comment it out in the rules files (and comment line 122, where a line for a same idVendor:idProduct exists) and it should just work. (aka when you plug your device in, usb_modeswitch will be run with the correct parameters and your device will disappear as zeroconf device and appear as modem - it just takes a few seconds). I have some follow up questions: So, I commented line 122, and removed the comment on line 156 in /etc/udev/rules.d/usb_modeswitch.rules . I also removed the comments on the lines 392-405 in /etc/usb_modeswitch.conf that corresponded to the device on line 156 in /etc/udev/rules.d/usb_modeswitch.rules This is my syslog when I attach the modem: 81.514349] usb 4-3: new high speed USB device using ehci_hcd and address 3 81.656837] usb 4-3: configuration #1 chosen from 1 choice 81.662363] usb 4-3: New USB device found, idVendor=19d2, idProduct=2000 81.662381] usb 4-3: New USB device strings: Mfr=2, Product=1, SerialNumber=0 81.662389] usb 4-3: Product: ZTE CDMA Technologies MSM 81.662396] usb 4-3: Manufacturer: ZTE, Incorporated 83.307794] Initializing USB Mass Storage driver... 83.310044] usb-storage: device ignored 83.310330] usbcore: registered new interface driver usb-storage 83.310342] USB Mass Storage support registered. 85.141941] usb 4-3: USB disconnect, address 3 90.590162] usb 4-3: new high speed USB device using ehci_hcd and address 4 90.724330] usb 4-3: configuration #1 chosen from 1 choice 95.352199] scsi1 : SCSI emulation for USB Mass Storage devices 95.360750] usb 4-3: New USB device found, idVendor=19d2, idProduct=0031 95.360767] usb 4-3: New USB device strings: Mfr=2, Product=1, SerialNumber=3 95.360776] usb 4-3: Product: ZTE CDMA Technologies MSM 95.360783] usb 4-3: Manufacturer: ZTE, Incorporated 95.360790] usb 4-3: SerialNumber: 1234567890ABCDEF 95.361495] usb-storage: device found at 4 95.361506] usb-storage: waiting for device to settle before scanning 100.360673] usb-storage: device scan complete 100.361646] scsi 1:0:0:0: Direct-Access ZTE MMC Storage 322 PQ: 0 ANSI: 2 100.362263] scsi 1:0:0:1: Direct-Access ZTE MMC Storage 322 PQ: 0 ANSI: 2 101.068311] Driver 'sd' needs updating - please use bus_type methods 101.073776] sd 1:0:0:0: [sda] 20480 512-byte hardware sectors (10 MB) 101.074513] sd 1:0:0:0: [sda] Write Protect is on 101.074527] sd 1:0:0:0: [sda] Mode Sense: 0f 0e 80 00 101.074534] sd 1:0:0:0: [sda] Assuming drive cache: write through 101.076913] sd 1:0:0:0: [sda] 20480 512-byte hardware sectors (10 MB) 101.077657] sd 1:0:0:0: [sda] Write Protect is on 101.077671] sd 1:0:0:0: [sda] Mode Sense: 0f 0e 80 00 101.077679] sd 1:0:0:0: [sda] Assuming drive cache: write through 101.077688] sda: 101.082679] sd 1:0:0:0: [sda] Attached SCSI removable disk 101.084109] sd 1:0:0:1: [sdb] Attached SCSI removable disk But, umtsmon does not find any modem until I add my /etc/udev/rules.d/90-zte.rules , is that how it should be? This is my syslog after I have added 90-zte.rules : 858.404414] usb 4-3: new high speed USB device using ehci_hcd and address 5 858.547280] usb 4-3: configuration #1 chosen from 1 choice 858.552860] usb-storage: device ignored 858.557855] usb 4-3: New USB device found, idVendor=19d2, idProduct=2000 858.557870] usb 4-3: New USB device strings: Mfr=2, Product=1, SerialNumber=0 858.557879] usb 4-3: Product: ZTE CDMA Technologies MSM 858.557885] usb 4-3: Manufacturer: ZTE, Incorporated 859.125173] usbcore: registered new interface driver usbserial 859.125216] usbserial: USB Serial support registered for generic 859.125277] usbcore: registered new interface driver usbserial_generic 859.125284] usbserial: USB Serial Driver core 861.230191] usb 4-3: USB disconnect, address 5 866.384053] usb 4-3: new high speed USB device using ehci_hcd and address 6 866.518849] usb 4-3: configuration #1 chosen from 1 choice 871.132438] usbserial_generic 4-3:1.0: Generic device with no bulk out, not allowed. 871.132438] usbserial_generic: probe of 4-3:1.0 failed with error -5 871.132438] usbserial_generic 4-3:1.1: Generic device with no bulk out, not allowed. 871.132438] usbserial_generic: probe of 4-3:1.1 failed with error -5 871.132438] scsi3 : SCSI emulation for USB Mass Storage devices 871.132438] usbserial_generic 4-3:1.3: generic converter detected 871.132438] usb 4-3: generic converter now attached to ttyUSB0 871.132438] usb 4-3: New USB device found, idVendor=19d2, idProduct=0031 871.132438] usb 4-3: New USB device strings: Mfr=2, Product=1, SerialNumber=3 871.132438] usb 4-3: Product: ZTE CDMA
Bug#523999: usb-modeswitch: Issues with switching the ZTE MF636 modem
Package: usb-modeswitch Version: 0.9.6-2 Severity: normal usb-switchmode seems not to work out-of-the-box. I need to remove the supplied /etc/udev/rules.d/usb_modeswitch.rules, otherwise it seems not to want to switch. I have captured what happens: :~# #insert zte mf636 modem :~# lsusb Bus 004 Device 014: ID 19d2:2000 ONDA Communication S.p.A. :~# usb_modeswitch -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0031 -m 0x01 -M 555342431234567820008c85010101180101010101 * usb_modeswitch: tool for controlling flip flop mode USB devices * Version 0.9.6 (C) Josua Dietze 2009 * Works with libusb 0.1.12 and probably other versions Looking for target devices No target device found Looking for default devices Found default devices (1) Prepare switching, accessing latest device Looking for active default driver to detach it No driver found. Device probably not initialized. Trying to continue ... Setting up communication with device Trying to send the message Sending the message returned error -110, trying to continue ... - See /proc/bus/usb/devices (or call lsusb) for changes. Bye :~# mv /etc/udev/rules.d/usb_modeswitch.rules /etc/udev/rules.d/usb_modeswitch.rules.old :~# #remove zte mf636 modem :~# #reinsert zte mf636 modem :~# lsusb Bus 004 Device 015: ID 19d2:2000 ONDA Communication S.p.A. :~# usb_modeswitch -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0031 -m 0x01 -M 555342431234567820008c85010101180101010101 * usb_modeswitch: tool for controlling flip flop mode USB devices * Version 0.9.6 (C) Josua Dietze 2009 * Works with libusb 0.1.12 and probably other versions Looking for target devices No target device found Looking for default devices Found default devices (1) Prepare switching, accessing latest device Looking for active default driver to detach it No driver found. Device probably not initialized. Trying to continue ... Setting up communication with device Trying to send the message OK, message successfully sent. - See /proc/bus/usb/devices (or call lsusb) for changes. Bye :~# lsusb Bus 004 Device 016: ID 19d2:0031 ONDA Communication S.p.A. After I put the -v,-p,-V,-P options into /etc/usb_modeswitch.conf, it's ready to work with umtsmon, together with this file: cat /etc/udev/rules.d/90-zte.rules ACTION!=add, GOTO=ZTE_End # SUBSYSTEM==usb, SYSFS{idProduct}==0031, SYSFS{idVendor}==19d2, GOTO=ZTE_Modem # LABEL=ZTE_Modem RUN+=/sbin/modprobe usbserial vendor=0x19d2 product=0x0031, MODE=660, GROUP=dialout # LABEL=ZTE_End -- System Information: Debian Release: 5.0.1 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.26-2-686 (SMP w/1 CPU core) Locale: LANG=nb_NO.UTF-8, LC_CTYPE=nb_NO.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages usb-modeswitch depends on: ii libc62.7-18 GNU C Library: Shared libraries ii libusb-0.1-4 2:0.1.12-13 userspace USB programming library usb-modeswitch recommends no packages. Versions of packages usb-modeswitch suggests: pn gcom none (no description available) pn wvdialnone (no description available) -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#523999: usb-modeswitch: Issues with switching the ZTE MF636 modem
Hi Klaus, and thanks for your bugreport. Le mardi 14 avril 2009 09:34:05 Klaus Ade Johnstad, vous avez écrit : Package: usb-modeswitch Version: 0.9.6-2 Severity: normal usb-switchmode seems not to work out-of-the-box. I need to remove the supplied /etc/udev/rules.d/usb_modeswitch.rules, otherwise it seems not to want to switch. I have captured what happens: :~# #insert zte mf636 modem :~# lsusb Bus 004 Device 014: ID 19d2:2000 ONDA Communication S.p.A. :~# usb_modeswitch -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0031 -m 0x01 -M : 555342431234567820008c85010101180101010101 (…) … Errors due to the fact that a udev rule with different parameters was run first. The idea of the udev rules is that you _do_not_ need to run usb_modeswitch after plugging your device in. The usb_modeswitch.rules file is generated from the .conf file at build time. It contains generated usb_modeswitch commandlines which are supposed to be triggered when you plug your device in. But there is a BIG problem with those 3G keys in general, which is not solvable with udev rules or anything else AFAICS: several devices with same idVendor:idProduct identifiers need different commands on the usb port. That's why the generated usb_modeswitch.rules file contains all the possible devices/commands combinations but with several ones commented. See for example the 0x19d2:0x2000 series (which is your the identifier of your key by the way): ZTE MF620 (aka Onda MH600HS) # ZTE MF622 (aka Onda MDC502HS) # ZTE MF622 (probably different version) # ZTE MF628 # ZTE MF628+ (tested version from Telia / Sweden) - ZTE MF626 # ZTE MF638 (aka Onda MDC525UP) # ONDA MT503HS (most likely a ZTE model) # ONDA MT505UP (most likely a ZTE model) There are 8 devices with the _same_ idVendor:idProduct string and no way to see a difference between them. That's why the first one is uncommented and all the following ones are commented. That's the best I can do: it will work for some people that have the first device listed and won't work for the others. To make your device work out-of-the-box, you just need to edit the rules file (/etc/udev/rules.d/usb_modeswitch.rules) so that the line corresponding to your device is the only one commented out for its idVendor:idProduct string. :~# mv /etc/udev/rules.d/usb_modeswitch.rules : /etc/udev/rules.d/usb_modeswitch.rules.old ~# #remove zte mf636 modem :~# #reinsert zte mf636 modem :~# lsusb Bus 004 Device 015: ID 19d2:2000 ONDA Communication S.p.A. :~# usb_modeswitch -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0031 -m 0x01 -M : 555342431234567820008c85010101180101010101 (…) … Message telling that it worked correctly. :~# lsusb Bus 004 Device 016: ID 19d2:0031 ONDA Communication S.p.A. The commandline that you are using is in the rules file at line 156: #SUBSYSTEM==usb, SYSFS{idVendor}==19d2, SYSFS{idProduct}==2000, RUN+=/usr/sbin/usb_modeswitch --DefaultVendor 0x19d2 --DefaultProduct 0x2000 --MessageEndpoint 0x01 --MessageContent 555342431234567820008c85010101180101010101 But it is commented. Just comment it out in the rules files (and comment line 122, where a line for a same idVendor:idProduct exists) and it should just work. (aka when you plug your device in, usb_modeswitch will be run with the correct parameters and your device will disappear as zeroconf device and appear as modem - it just takes a few seconds). After I put the -v,-p,-V,-P options into /etc/usb_modeswitch.conf, it's ready to work with umtsmon, together with this file: cat /etc/udev/rules.d/90-zte.rules ACTION!=add, GOTO=ZTE_End # SUBSYSTEM==usb, SYSFS{idProduct}==0031, SYSFS{idVendor}==19d2, GOTO=ZTE_Modem # LABEL=ZTE_Modem RUN+=/sbin/modprobe usbserial vendor=0x19d2 product=0x0031, MODE=660, GROUP=dialout # LABEL=ZTE_End I guess that your file will work correctly and modprobe will be run after modeswitch, when the device appear. By the way, you should be able to see what happens (i.e. debugging) by following syslog: you will see the first zeroconf device appear and then disappear and the modem appear (after usb_modeswitch has run in the background). I hope that these explanations made the whole a little clearer ! Best regards, OdyX -- Didier Raboud, proud Debian user and usb_modeswitch maintainer. CH-1802 Corseaux did...@raboud.com signature.asc Description: This is a digitally signed message part.