Huawei E353 3G modem
-
Again when I plug in the e353 and reboot the pfSense box it only shows /dev/cuau0 and /dev/cuau1. the output of the command is below. All help is greatly appreciated thanks again!
$ dir /dev/cua*; dmesg
Copyright 1992-2012 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.3-RELEASE-p1 #1: Sun May 13 02:11:06 EDT 2012
root@FreeBSD_8.3_pfSense_2.1.snaps.pfsense.org:/usr/obj./usr/pfSensesrc/src/sys/pfSense_SMP.8 i386
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel Pentium III (797.42-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x686 Family = 6 Model = 8 Stepping = 6
Features=0x387f9ff <fpu,vme,de,pse,tsc,msr,pae,mce,cx8,sep,mtrr,pge,mca,cmov,pat,pse36,pn,mmx,fxsr,sse>real memory = 402653184 (384 MB)
avail memory = 370208768 (353 MB)
wlan: mac acl policy registered
ipw_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
ipw_bss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
module_register_init: MOD_LOAD (ipw_bss_fw, 0xc07a9370, 0) error 1
ipw_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
ipw_ibss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
module_register_init: MOD_LOAD (ipw_ibss_fw, 0xc07a9410, 0) error 1
ipw_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
ipw_monitor: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
module_register_init: MOD_LOAD (ipw_monitor_fw, 0xc07a94b0, 0) error 1
kbd1 at kbdmux0
cryptosoft0: <software crypto="">on motherboard
padlock0: No ACE support.
acpi0: <ptltd rsdt="">on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
cpu0: <acpi cpu="">on acpi0
pcib0: <acpi host-pci="" bridge="">port 0xcf8-0xcff on acpi0
pci0: <acpi pci="" bus="">on pcib0
pcib1: <acpi pci-pci="" bridge="">at device 30.0 on pci0
pci1: <acpi pci="" bus="">on pcib1
vgapci0: <vga-compatible display="">port 0x2400-0x24ff mem 0xed000000-0xedffffff,0xec101000-0xec101fff at device 1.0 on pci1
rl0: <realtek 10="" 8139="" 100basetx="">port 0x2800-0x28ff mem 0xec100400-0xec1004ff at device 2.0 on pci1
miibus0: <mii bus="">on rl0
rlphy0: <realtek internal="" media="" interface="">PHY 0 on miibus0
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: [ITHREAD]
xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0x2000-0x207f mem 0xec100000-0xec10007f irq 11 at device 4.0 on pci1
miibus1: <mii bus="">on xl0
xlphy0: <3c905C 10/100 internal PHY> PHY 24 on miibus1
xlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, auto-flow
xl0: [ITHREAD]
isab0: <pci-isa bridge="">at device 31.0 on pci0
isa0: <isa bus="">on isab0
atapci0: <intel ich="" udma66="" controller="">port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1800-0x180f at device 31.1 on pci0
ata0: <ata channel="">at channel 0 on atapci0
ata0: [ITHREAD]
ata1: <ata channel="">at channel 1 on atapci0
ata1: [ITHREAD]
uhci0: <intel 82801aa="" (ich)="" usb="" controller="">port 0x1820-0x183f at device 31.2 on pci0
uhci0: [ITHREAD]
uhci0: LegSup = 0x2f00
usbus0: <intel 82801aa="" (ich)="" usb="" controller="">on uhci0
pci0: <serial bus,="" smbus="">at device 31.3 (no driver attached)
pci0: <multimedia, audio="">at device 31.5 (no driver attached)
acpi_button0: <power button="">on acpi0
atrtc0: <at realtime="" clock="">port 0x70-0x71 irq 8 on acpi0
atkbdc0: <keyboard controller="" (i8042)="">port 0x60,0x64 irq 1 on acpi0
atkbd0: <at keyboard="">irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart0: [FILTER]
uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
uart1: [FILTER]
ppc0: <parallel port="">port 0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
ppc0: [ITHREAD]
ppbus0: <parallel port="" bus="">on ppc0
plip0: <plip network="" interface="">on ppbus0
plip0: [ITHREAD]
lpt0: <printer>on ppbus0
lpt0: [ITHREAD]
lpt0: Interrupt-driven port
ppi0: <parallel i="" o="">on ppbus0
pmtimer0 on isa0
orm0: <isa option="" roms="">at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff,0xe4000-0xeffff pnpid ORM0000 on isa0
sc0: <system console="">at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <generic isa="" vga="">at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 797416343 Hz quality 800
Timecounters tick every 1.000 msec
IPsec: Initialized Security Association Processing.
usbus0: 12Mbps Full Speed USB v1.0
ad0: 152627MB <samsung sp1604n="" tm100-24="">at ata0-master UDMA66
ugen0.1: <intel>at usbus0
uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus0
Root mount waiting for: usbus0
uhub0: 2 ports with 2 removable, self powered
Root mount waiting for: usbus0
Root mount waiting for: usbus0
ugen0.2: <huawei>at usbus0
umass0: <huawei 0="" 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr="">on usbus0
umass0: SCSI over Bulk-Only; quirks = 0x0100
umass0:0:0 Attached to scbus0
Trying to mount root from ufs:/dev/ad0s1a
(probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(probe0:umass-sim0:0:0:0): SCSI status: Check Condition
(probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
cd0 at umass-sim0 bus 0 scbus0 target 0 lun 0
cd0: <huawei mass="" storage="" 2.31="">Removable CD-ROM SCSI-2 device
cd0: 1.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
pflog0: promiscuous mode enabled
rl0: link state changed to UP</huawei></huawei></huawei></intel></intel></samsung></generic></system></isa></parallel></printer></plip></parallel></parallel></at></keyboard></at></power></multimedia,></serial></intel></intel></ata></ata></intel></isa></pci-isa></mii></realtek></mii></realtek></vga-compatible></acpi></acpi></acpi></acpi></acpi></ptltd ></software></fpu,vme,de,pse,tsc,msr,pae,mce,cx8,sep,mtrr,pge,mca,cmov,pat,pse36,pn,mmx,fxsr,sse> -
Sorry,
$ dir /dev/cua*; dmesg
should have been
$ ls /dev/cua*; dmesg
but no matter for present purposes since there is no sign the u3g driver recognised your particular device.
Elsewhere in these forums it has been reported that it helps to initialise the modem on a Windows system, installing the driver software on the modem, connecting to the network, registering etc then disconnecting in the Windows software, removing the modem and taking it to the non Windows system. (It is possible the ISP tech support won't be interested in any problem report about the modem unless you can demonstrate it on a Windows system so it is possibly a good thing to do this to verify you have a working modem.) Apparently this step changes some state in the modem so that it reports itself not just as a CD device (as yours did):
$ dir /dev/cua*; dmesg
ugen0.2: <huawei>at usbus0
umass0: <huawei 0="" 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr="">on usbus0
umass0: SCSI over Bulk-Only; quirks = 0x0100
umass0:0:0 Attached to scbus0
Trying to mount root from ufs:/dev/ad0s1a
(probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(probe0:umass-sim0:0:0:0): SCSI status: Check Condition
(probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
cd0 at umass-sim0 bus 0 scbus0 target 0 lun 0
cd0: <huawei mass="" storage="" 2.31="">Removable CD-ROM SCSI-2 device
cd0: 1.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present</huawei></huawei></huawei>but as CD plus serial devices.
There is a utility usb_modeswitch which apparently should get invoked on recognition of a 3G modem. I'm not sure of its action in relation to the Windows initialisation I described earlier.
The following pfSense shell commands might provide some additional useful information (no need to reboot before issuing them):```
$ usbconfig
$ usbconfig -d ugen0.2 dump_device_desc show_ifdrvNote the "ugen0.2" in the second command comes from the ugen device reporting Huawei in the first command. Here's the equivalent on my system which has a Huawei E153 modem plugged in and reporting cuaU0.x devices: > $ usbconfig > ugen0.1: <uhci root="" hub="" via="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE > ugen1.1: <uhci root="" hub="" via="">at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE > ugen2.1: <uhci root="" hub="" via="">at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE > ugen3.1: <ehci root="" hub="" via="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE > ugen3.2: <802.11 n WLAN Ralink> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON > ugen3.3: <huawei mobile="" huawei="" technology="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON > $ usbconfig -d ugen3.3 dump_device_desc show_ifdrv > ugen3.3: <huawei mobile="" huawei="" technology="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON > ugen3.3.0: u3g0: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">ugen3.3.4: umass0: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">ugen3.3.5: umass1: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">bLength = 0x0012 > bDescriptorType = 0x0001 > bcdUSB = 0x0200 > bDeviceClass = 0x0000 > bDeviceSubClass = 0x0000 > bDeviceProtocol = 0x0000 > bMaxPacketSize0 = 0x0040 > idVendor = 0x12d1 > idProduct = 0x14ac > bcdDevice = 0x0000 > iManufacturer = 0x0003 <huawei technology="">iProduct = 0x0002 <huawei mobile="">iSerialNumber = 0x0000 <no string="">bNumConfigurations = 0x0001 > > $</no></huawei></huawei></huawei></huawei></huawei></huawei></huawei></ehci></uhci></uhci></uhci>
-
Sorry,
$ dir /dev/cua*; dmesg
should have been
$ ls /dev/cua*; dmesg
but no matter for present purposes since there is no sign the u3g driver recognised your particular device.
Elsewhere in these forums it has been reported that it helps to initialise the modem on a Windows system, installing the driver software on the modem, connecting to the network, registering etc then disconnecting in the Windows software, removing the modem and taking it to the non Windows system. (It is possible the ISP tech support won't be interested in any problem report about the modem unless you can demonstrate it on a Windows system so it is possibly a good thing to do this to verify you have a working modem.) Apparently this step changes some state in the modem so that it reports itself not just as a CD device (as yours did):
$ dir /dev/cua*; dmesg
ugen0.2: <huawei>at usbus0
umass0: <huawei 0="" 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr="">on usbus0
umass0: SCSI over Bulk-Only; quirks = 0x0100
umass0:0:0 Attached to scbus0
Trying to mount root from ufs:/dev/ad0s1a
(probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(probe0:umass-sim0:0:0:0): SCSI status: Check Condition
(probe0:umass-sim0:0:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
cd0 at umass-sim0 bus 0 scbus0 target 0 lun 0
cd0: <huawei mass="" storage="" 2.31="">Removable CD-ROM SCSI-2 device
cd0: 1.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present</huawei></huawei></huawei>but as CD plus serial devices.
There is a utility usb_modeswitch which apparently should get invoked on recognition of a 3G modem. I'm not sure of its action in relation to the Windows initialisation I described earlier.
The following pfSense shell commands might provide some additional useful information (no need to reboot before issuing them):```
$ usbconfig
$ usbconfig -d ugen0.2 dump_device_desc show_ifdrvNote the "ugen0.2" in the second command comes from the ugen device reporting Huawei in the first command. Here's the equivalent on my system which has a Huawei E153 modem plugged in and reporting cuaU0.x devices: > $ usbconfig > ugen0.1: <uhci root="" hub="" via="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE > ugen1.1: <uhci root="" hub="" via="">at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE > ugen2.1: <uhci root="" hub="" via="">at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE > ugen3.1: <ehci root="" hub="" via="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE > ugen3.2: <802.11 n WLAN Ralink> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON > ugen3.3: <huawei mobile="" huawei="" technology="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON > $ usbconfig -d ugen3.3 dump_device_desc show_ifdrv > ugen3.3: <huawei mobile="" huawei="" technology="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON > ugen3.3.0: u3g0: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">ugen3.3.4: umass0: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">ugen3.3.5: umass1: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">bLength = 0x0012 > bDescriptorType = 0x0001 > bcdUSB = 0x0200 > bDeviceClass = 0x0000 > bDeviceSubClass = 0x0000 > bDeviceProtocol = 0x0000 > bMaxPacketSize0 = 0x0040 > idVendor = 0x12d1 > idProduct = 0x14ac > bcdDevice = 0x0000 > iManufacturer = 0x0003 <huawei technology="">iProduct = 0x0002 <huawei mobile="">iSerialNumber = 0x0000 <no string="">bNumConfigurations = 0x0001 > > $</no></huawei></huawei></huawei></huawei></huawei></huawei></huawei></ehci></uhci></uhci></uhci>
Hi Thanks again. I have initialized the modem on a windows 7 machine and installed all the software drivers etc. and it works fine, connects etc. As this is a new type of modem I have a feeling that its not yet supported under BSD yet. Anyway here's the output from the last command:
$ usbconfig -d ugen0.2 dump_device_desc show_ifdrv
ugen0.2: <huawei hilink="" huawei="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen0.2.0: umass0: <huawei 0="" 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr="">bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0200
bDeviceClass = 0x0000
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0040
idVendor = 0x12d1
idProduct = 0x1f01
bcdDevice = 0x0102
iManufacturer = 0x0002 <huawei>iProduct = 0x0001 <huawei hilink="">iSerialNumber = 0x0000 <no string="">bNumConfigurations = 0x0001</no></huawei></huawei></huawei></huawei> -
Confirmed: the u3g driver doesn't recognise it.
A search on the web turned up this thread http://www.dd-wrt.com/phpBB2/viewtopic.php?p=615196 which suggests to me the incantations necessary to get this modem to work have only "recently" been discovered, probably too recently to be included in FreeBSD 8.3.
-
I had a feeling that was the case :(. Thanks anyway for all of your help with trying to sort this out. I guess Ill have to wait until pfSense becomes compatible with it, hopefully it will be sooner rather than later. All the best, iwebs!
-
Just FYI, serial devices named with an upper-case U (e.g. cuaU0.1) are connected via USB hence you need to see these on your modem.
You can almost certainly modeswitch this with the FreeBSD port of usb_modeswitch. Unfortunately it doesn't tie into the dev subsystem, like u3g does, so it's more of a manual process.Steve
-
Also looking at the usb_modeswitch device list:
# Huawei E353 (3.se) # # Contributor: Ulf Eklund DefaultVendor= 0x12d1 DefaultProduct=0x1f01 TargetVendor= 0x12d1 TargetProduct= 0x14db MessageContent="55534243123456780000000000000a11062000000000000100000000000000" # Driver is cdc_ether NoDriverLoading=1
It appears as though this modem is of the newer '4g' style that appears as a usb ethernet device rather than a serial connected modem. Though they usually have serial port as well for diagnostics.
Steve
-
Also looking at the usb_modeswitch device list:
# Huawei E353 (3.se) # # Contributor: Ulf Eklund DefaultVendor= 0x12d1 DefaultProduct=0x1f01 TargetVendor= 0x12d1 TargetProduct= 0x14db MessageContent="55534243123456780000000000000a11062000000000000100000000000000" # Driver is cdc_ether NoDriverLoading=1
It appears as though this modem is of the newer '4g' style that appears as a usb ethernet device rather than a serial connected modem. Though they usually have serial port as well for diagnostics.
Steve
Yes it shows up under windows as a Remote NDIS based Internet Sharing Device and you go to 192.168.1.1 in the browser to configure the device so it seems its running a web server of some sort…
-
Well give it a try.
Assuming you are running the full install of pfSense first install usb_modeswitch:pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/usb_modeswitch.tbz
Then issue a rehash to make sure pfSense knows where the package is:
rehash
Then try to modeswitch your device:
usb_modeswitch -v 12d1 -p 1f01 -V 012d1 -P 014db -M "55534243123456780000000000000a11062000000000000100000000000000" -W
Or some variation on that!
Steve
-
Hi again. I ran those commands and got the following:
$ pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/usb_modeswitch.tbz
tar: Failed to set default locale
pkg_add: package 'usb_modeswitch-1.2.1' or its older version already installedand then
$ usb_modeswitch -v 12d1 -p 1f01 -V 012d1 -P 014db -M "55534243123456780000000000000a11062000000000000100000000000000" -W
Taking all parameters from the command line- usb_modeswitch: handle USB devices with multiple modes
- Version 1.2.1 (C) Josua Dietze 2011
- Based on libusb0 (0.1.12 and above)
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x12d1
DefaultProduct= 0x1f01
TargetVendor= 0x12d1
TargetProduct= 0x14db
TargetClass= not set
TargetProductList=""DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
NeedResponse=0
ResponseEndpoint= not setInquireDevice enabled (default)
Success check disabled
System integration mode disabledLooking for target devices …
searching devices, found USB ID 12d1:1f01
found matching vendor ID
searching devices, found USB ID 0000:0000
No devices in target mode or class found
Looking for default devices ...
searching devices, found USB ID 12d1:1f01
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 0000:0000
Found device in default mode, class or configuration (1)
Accessing device 002 on bus 000 ...
Getting the current device configuration ...
OK, got current device configuration (1)
Using first interface: 0x00
Using endpoints 0x0f (out) and 0x8f (in)
Inquiring device details; driver will be detached ...
Cant't do driver detection and detaching on this platform.SCSI inquiry data (for identification)
Vendor String: HUAWEI
Model String: Mass Storage
Revision String: 2.31USB description data (for identification)
Manufacturer: HUAWEI
Product: HUAWEI HiLink
Serial No.: not providedSetting up communication with interface 0
Using endpoint 0x0f for message sending ...
Trying to send message 1 to endpoint 0x0f ...
OK, message successfully sent
Resetting response endpoint 0x8f
Resetting message endpoint 0x0f
-> Run lsusb to note any changes. Bye.so any ideas on what that means?
The modem is still not recognized by pfSense.
once again all help is really appreciated! Thanks all. ;D
-
I get the impression that when these sort of devices are tickled in a specific way they can change their appearance on the USB. usb_modeswitch is apparently expecting that:
@iwebs:Resetting response endpoint 0x8f
Resetting message endpoint 0x0f
-> Run lsusb to note any changes. Bye.There is no lsusb utility in FreeBSD. usbconfig is the nearest equivalent. I suggest you remove the modem then insert it and run the three shell commands```
$ usbconfig show_ifdrv
$ usb_modeswitch -v 12d1 -p 1f01 -V 012d1 -P 014db -M "55534243123456780000000000000a11062000000000000100000000000000" -W
$ usbconfig show_ifdrv -
I get the impression that when these sort of devices are tickled in a specific way they can change their appearance on the USB. usb_modeswitch is apparently expecting that:
@iwebs:Resetting response endpoint 0x8f
Resetting message endpoint 0x0f
-> Run lsusb to note any changes. Bye.There is no lsusb utility in FreeBSD. usbconfig is the nearest equivalent. I suggest you remove the modem then insert it and run the three shell commands```
$ usbconfig show_ifdrv
$ usb_modeswitch -v 12d1 -p 1f01 -V 012d1 -P 014db -M "55534243123456780000000000000a11062000000000000100000000000000" -W
$ usbconfig show_ifdrvThe output of the above commands are below but they don't seem to show me anything i can decipher, maybe someone else can:
$ usbconfig show_ifdrv
ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
ugen0.1.0: uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">ugen0.2: <huawei hilink="" huawei="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen0.2.0: umass0: <huawei 0="" 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr="">$ usb_modeswitch -v 12d1 -p 1f01 -V 012d1 -P 014db -M "55534243123456780000000000000a11062000000000000100000000000000" -W
Taking all parameters from the command line- usb_modeswitch: handle USB devices with multiple modes
- Version 1.2.1 (C) Josua Dietze 2011
- Based on libusb0 (0.1.12 and above)
! PLEASE REPORT NEW CONFIGURATIONS !
DefaultVendor= 0x12d1
DefaultProduct= 0x1f01
TargetVendor= 0x12d1
TargetProduct= 0x14db
TargetClass= not set
TargetProductList=""DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
NeedResponse=0
ResponseEndpoint= not setInquireDevice enabled (default)
Success check disabled
System integration mode disabledLooking for target devices …
searching devices, found USB ID 12d1:1f01
found matching vendor ID
searching devices, found USB ID 0000:0000
No devices in target mode or class found
Looking for default devices ...
searching devices, found USB ID 12d1:1f01
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 0000:0000
Found device in default mode, class or configuration (1)
Accessing device 002 on bus 000 ...
Getting the current device configuration ...
OK, got current device configuration (1)
Using first interface: 0x00
Using endpoints 0x0f (out) and 0x8f (in)
Inquiring device details; driver will be detached ...
Cant't do driver detection and detaching on this platform.SCSI inquiry data (for identification)
Vendor String: HUAWEI
Model String: Mass Storage
Revision String: 2.31USB description data (for identification)
Manufacturer: HUAWEI
Product: HUAWEI HiLink
Serial No.: not providedSetting up communication with interface 0
Using endpoint 0x0f for message sending ...
Trying to send message 1 to endpoint 0x0f ...
OK, message successfully sent
Resetting response endpoint 0x8f
Resetting message endpoint 0x0f
-> Run lsusb to note any changes. Bye.$ usbconfig show_ifdrv
ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
ugen0.1.0: uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">ugen0.2: <huawei hilink="" huawei="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen0.2.0: cdce0:<huawei 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr=""></huawei></huawei></intel></uhci></huawei></huawei></intel></uhci> -
It appears to have correctly mode switched from a mass storage device into a usb ethernet device.
This is not like other 'traditional' usb modems, it has no serial ports.
I have never used one but I would guess that you add it as an interface and try talking down it. ;)
Perhaps set it as dhcp and see if it receives an IP address. More research needed.
Steve -
It appears to have correctly mode switched from a mass storage device into a usb ethernet device.
To elaborate: before usb_modeswitch:
@iwebs:$ usbconfig show_ifdrv
ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
ugen0.1.0: uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">ugen0.2: <huawei hilink="" huawei="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen0.2.0: umass0: <huawei 0="" 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr=""></huawei></huawei></intel></uhci>and after:
@iwebs:$ usbconfig show_ifdrv
ugen0.1: <uhci root="" hub="" intel="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE
ugen0.1.0: uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">ugen0.2: <huawei hilink="" huawei="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen0.2.0: cdce0: <huawei 2="" huawei="" hilink,="" class="" 0,="" rev="" 2.00="" 1.02,="" addr=""></huawei></huawei></intel></uhci>New device cdce0 is a USB ethernet device (see FreeBSD man page at http://www.freebsd.org/cgi/man.cgi?query=cdce&apropos=0&sektion=0&manpath=FreeBSD+9.0-RELEASE&arch=default&format=html) and it should appear in the output of shell command ifconfig and as an available "network port" in pfSense after it has been added (click on "+" on Interfaces -> (assign) page).
I wonder if the usbconfig output means the link speed won't exceed 12Mbps (spd=FULL). On my system with a Huawei E153 3G modem the matching bus speed is reported as 480Mbps:
ugen3.3: <huawei mobile="" huawei="" technology="">at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen3.3.0: u3g0: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">ugen3.3.4: umass0: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr="">ugen3.3.5: umass1: <huawei 0="" 3="" technology="" huawei="" mobile,="" class="" 0,="" rev="" 2.00="" 0.00,="" addr=""></huawei></huawei></huawei></huawei> -
I wonder if the usbconfig output means the link speed won't exceed 12Mbps (spd=FULL). On my system with a Huawei E153 3G modem the matching bus speed is reported as 480Mbps
I was just thinking that myself. Perhaps it's plugged into a usb1.1 port. In fact reading back this is a Pentium 3 system, does it have USB2?
Steve
-
Well I just tried what you recommended and I couldn't get it to work, I tried assigning it as /dev/cua0 and cua1. but no luck then I went into interfaces and assign and I got a new device ue0 (58:2c:80:13:xx:xx) device, I tried assigning that but I couldn't get a connection to the net through it, id say pfSense can see it and knows what it is but can't communicate correctly with it?
As for USB1.1 or 2.0; its an old box so I'd say it only has 1.1 but I don't see how that would matter, surely it should work but only at 12Mbps max? I mean would it cause problems?
-
Yes it should work fine at 12Mbps it's just that I imagine it is capable of more. 21Mbps in the UK.
What sort of interface did you assign it as?
What you see from ifconfig?
Steve
-
Well I just tried what you recommended and I couldn't get it to work, I tried assigning it as /dev/cua0 and cua1. but no luck then I went into interfaces and assign and I got a new device ue0 (58:2c:80:13:xx:xx) device, I tried assigning that but I couldn't get a connection to the net through it, id say pfSense can see it and knows what it is but can't communicate correctly with it?
/dev/cua0 and /dev/cua1 are the standard serial ports. ue0 is the USB ethernet interface. Before you can talk over ue0 it needs to have an IP address. Is that statically assigned? assigned by PPPoE? assigned by DHCP? or does the modem need to get an IP address from a host DHCP server?
As for USB1.1 or 2.0; its an old box so I'd say it only has 1.1 but I don't see how that would matter, surely it should work but only at 12Mbps max? I mean would it cause problems?
One possible problem: The modem supposedly can download at 21Mbps. The modem can only pass that on to the host computer over USB1 at something less than 12Mbps. Unless the modem has considerable buffering capability that could cause considerable data loss. TCP has mechanisms to adjust to data loss, other protocols may or may not; UDP doesn't.) If you plan to use this computer for this purpose long term and you get the modem working you should check out if the computer has native USB2 and if not, get a USB2 expansion card for use with the modem.
-
The post at http://www.linuxquestions.org/questions/mandriva-30/huawei-hi-link-e353-dongle-from-3-mobile-problems-in-mandriva-937414/ suggests you should set the Interface type of ue0 to DHCP. I suggest you disable ue0, set interface type to DHCP, enable it and see if it has gets a IP address.
-
Indeed it looks like it should 'just work'.
However there is a bigger problem here. pfSense is just not setup to deal with removable NICs. If you assign ue0 as a WAN interface it will probably work fine until you next reboot the box at which point pfSense will complain and go to the assign interfaces screen. Unless you have somehow setup usb_modeswitch to enable it, via <earlyshellcmd>perhaps.
Another possible problem that I ran into with a USB ethernet device was that the MAC address changed in between power cycles. You should check it always come up the same.As more '4G' modems are appearing with this type of interface something will have to be worked out.
Steve</earlyshellcmd>