Hello,

the modechange flag needs to be DEV_UMASS5. Works great now.

Index: umsm.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/umsm.c,v
retrieving revision 1.63
diff -u -r1.63 umsm.c
--- umsm.c      20 May 2010 11:31:34 -0000      1.63
+++ umsm.c      13 Jun 2010 15:47:39 -0000
@@ -128,7 +128,7 @@
        {{ USB_VENDOR_DELL,     USB_PRODUCT_DELL_U740 }, 0},
        {{ USB_VENDOR_DELL,     USB_PRODUCT_DELL_W5500 }, 0},
 
-       {{ USB_VENDOR_HUAWEI,   USB_PRODUCT_HUAWEI_E161 }, DEV_UMASS1},
+       {{ USB_VENDOR_HUAWEI,   USB_PRODUCT_HUAWEI_E161 }, DEV_UMASS5},
        {{ USB_VENDOR_HUAWEI,   USB_PRODUCT_HUAWEI_E180 }, DEV_HUAWEI},
        {{ USB_VENDOR_HUAWEI,   USB_PRODUCT_HUAWEI_E220 }, DEV_HUAWEI},
        {{ USB_VENDOR_HUAWEI,   USB_PRODUCT_HUAWEI_E510 }, DEV_HUAWEI},

According to Linux' usb_modeswitch the following devices all report
themselves as Product ID 0x1446 and all need the same DEV_UMASS5 magic
sent to them:

Huawei E270+
Huawei E1762
Huawei E1820

Huawei E1550
Huawei E1750

Huawei E1612

Huawei E1690
Huawei E1692
Huawei E1762

Maybe the internal identifier should be changed to more accurately
reflect the range of products. It appears they are all rather new
devices, from 2009 onwards.

Regards,

David


dmesg excerpt, modechange

umsm0 at uhub0 port 1 configuration 1 interface 0 "HUAWEI Technology HUAWEI 
Mobile" rev 2.00/0.00 addr 2
umsm1 at uhub0 port 1 configuration 1 interface 1 "HUAWEI Technologies HUAWEI 
Mobile E161" rev 2.00/0.00 addr 2
umsm0 detached
umsm1 detached
umsm0 at uhub0 port 1 configuration 1 interface 0 "HUAWEI Technology HUAWEI 
Mobile" rev 2.00/0.00 addr 2
ucom0 at umsm0
umsm1 at uhub0 port 1 configuration 1 interface 1 "HUAWEI Technology HUAWEI 
Mobile" rev 2.00/0.00 addr 2
ucom1 at umsm1
umsm2 at uhub0 port 1 configuration 1 interface 2 "HUAWEI Technology HUAWEI 
Mobile" rev 2.00/0.00 addr 2
ucom2 at umsm2
umsm3 at uhub0 port 1 configuration 1 interface 3 "HUAWEI Technology HUAWEI 
Mobile" rev 2.00/0.00 addr 2
umsm4 at uhub0 port 1 configuration 1 interface 4 "HUAWEI Technology HUAWEI 
Mobile" rev 2.00/0.00 addr 2


dmesg, warm reboot, no modechange, already in right mode

OpenBSD 4.7-current (GENERIC) #1: Sat Jun 12 19:58:27 CEST 2010
    r...@openbsd.localdomain:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel Pentium III ("GenuineIntel" 686-class, 512KB L2 cache) 335 MHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PSE36,MMX,FXSR,SSE
real mem  = 133709824 (127MB)
avail mem = 120410112 (114MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 10/15/01, BIOS32 rev. 0 @ 0xf06c0, SMBIOS 
rev. 2.3 @ 0xf1f50 (45 entries)
bios0: vendor Award Software, Inc. version "ASUS P3B-F ACPI BIOS Revision 1008 
Beta 004" date 10/15/2001
bios0: ASUSTeK Computer INC. <P3B-F>
apm0 at bios0: Power Management spec V1.2 (BIOS management disabled)
apm0: APM power management enable: unrecognized device ID (9)
apm0: APM engage (device 1): power management disabled (1)
apm0: AC on, battery charge unknown
acpi at bios0 function 0x0 not configured
pcibios0 at bios0: rev 2.1 @ 0xf0000/0xf22
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xf0e80/160 (8 entries)
pcibios0: PCI Interrupt Router at 000:04:0 ("Intel 82371FB ISA" rev 0x00)
pcibios0: PCI bus #1 is the last bus
bios0: ROM list: 0xc0000/0x8000 0xc8000/0x800 0xcc000/0x800
cpu0 at mainbus0: (uniprocessor)
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82443BX AGP" rev 0x03
intelagp0 at pchb0
agp0 at intelagp0: aperture at 0xe4000000, size 0x4000000
ppb0 at pci0 dev 1 function 0 "Intel 82443BX AGP" rev 0x03
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "Matrox MGA G200 AGP" rev 0x03
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
piixpcib0 at pci0 dev 4 function 0 "Intel 82371AB PIIX4 ISA" rev 0x02
pciide0 at pci0 dev 4 function 1 "Intel 82371AB IDE" rev 0x01: DMA, channel 0 
wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <TRANSCEND>
wd0: 1-sector PIO, LBA, 1946MB, 3985632 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 disabled (no drives)
uhci0 at pci0 dev 4 function 2 "Intel 82371AB USB" rev 0x01: irq 5
piixpm0 at pci0 dev 4 function 3 "Intel 82371AB Power" rev 0x02: SMI
iic0 at piixpm0
lm1 at iic0 addr 0x2d: AS99127F rev 2
iic0: addr 0x2f d0=00 d1=00 d2=00 d3=00 d4=00 e0=00 e1=00 e2=00 e3=00 e4=00 
e5=00 e6=00 e7=00 e8=00 e9=00 ea=00 eb=00 f6=f8 f7=10 words 00=ffff 01=ffff 
02=ffff 03=ffff 04=ffff 05=ffff 06=ffff 07=ffff
xl0 at pci0 dev 10 function 0 "3Com 3c905C 100Base-TX" rev 0x74: irq 12, 
address 00:01:02:a4:ed:a8
bmtphy0 at xl0 phy 24: 3C905C internal PHY, rev. 6
xl1 at pci0 dev 11 function 0 "3Com 3c905C 100Base-TX" rev 0x74: irq 10, 
address 00:04:76:e8:41:30
bmtphy1 at xl1 phy 24: 3C905C internal PHY, rev. 6
isa0 at piixpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
usb0 at uhci0: USB revision 1.0
uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
biomask eb65 netmask ff65 ttymask ffff
mtrr: Pentium Pro MTRR support
umsm0 at uhub0 port 1 configuration 1 interface 0 "HUAWEI Technology HUAWEI 
Mobile" rev 2.00/0.00 addr 2
ucom0 at umsm0
umsm1 at uhub0 port 1 configuration 1 interface 1 "HUAWEI Technology HUAWEI 
Mobile" rev 2.00/0.00 addr 2
ucom1 at umsm1
umsm2 at uhub0 port 1 configuration 1 interface 2 "HUAWEI Technology HUAWEI 
Mobile" rev 2.00/0.00 addr 2
ucom2 at umsm2
umsm3 at uhub0 port 1 configuration 1 interface 3 "HUAWEI Technology HUAWEI 
Mobile" rev 2.00/0.00 addr 2
umsm4 at uhub0 port 1 configuration 1 interface 4 "HUAWEI Technology HUAWEI 
Mobile" rev 2.00/0.00 addr 2
vscsi0 at root
scsibus0 at vscsi0: 256 targets
softraid0 at root
root on wd0a swap on wd0b dump on wd0b


usbdevs -dv

Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), 
Intel(0x8086), rev 1.00
  uhub0
 port 1 addr 2: full speed, self powered, config 1, HUAWEI Mobile(0x1001), 
HUAWEI Technology(0x12d1), rev 0.00
   umsm0
   umsm1
   umsm2
   umsm3
 port 2 powered

Reply via email to