|
Jul
20
2009
uhso(4): Option HSDPA driver for FreeBSD 8Posted by fli in FreeBSD, tags: FreeBSD, hsdpa, hso
A bit late, but here is the first beta of the Option HSDPA driver for FreeBSD 8. It’s more or less completely rewritten and there are some visible changes to the interface. Because ucom(4) has matured it can now be utilized instead of mucking around directly with the TTY layer. This results in that the device names in /dev has changed and are now longer called /dev/HSO*, instead they follow the standard ucom names of cuaU*. The new USB stack attach USB devices per USB interface instead of per USB device, so it’s possible to get both a cuaU0 and cuaU1 device (instead of just cuaU0.0 and cuaU0.1). The number of found serial ports can be read through sysctl. The packet interface is now exposed as a raw interface instead of emulating an Ethernet device (I seriously wonder why I did that…). The driver switches automatically from install-cd mode to modem mode, there is no longer any need for manual switching through devd. Please remove the option-icon.conf file from your /usr/local/etc/devd directory. And last, I’ve renamed the driver to uhso to reflect its USB nature. Download: uhso-20091122.tar.gz – Add support for iCON 505, fix probing of devices with dynamic number of interfaces, add new custom attach messages based on the port type. Download: uhsoctl-beta-20090820.tar.gz – uhsoctl connection utility, similar to old hsoctl Download: uhso-beta-20090812.tar.gz – Minor bug fix and reworked sysctl nodes. Download: uhso-beta-20090723.tar.gz – No longer PTP interface (completely useless), fixed (hopefully) CDC notification on modem port, added several new device IDs. Thanks to Iain Hibbert for this! Download: uhso-beta-20090722.tar.gz – Bug fixes that should improve RX speed. Download: uhso-beta-20090720.tar.gz If you own an Option device, please leave a comment (or send a mail) with its full name and USB device ID. I’m particularly interested in the following devices iCON 031, iCON 210, iCON 315, iCON 322, iCON 401, iCON 431, iCON 451, iCON 452, iCON 505. If you’re running FreeBSD 8 and own an Option device, please mail me the output of usbconfig -u X -a Y dump_device_desc usbconfig -u X -a Y dump_all_config_desc where X and Y (5 and 2 below) can be obtained through usbconfig # usbconfig ... ugen5.2: <Globetrotter HSDPA Modem Option N.V.> at usbus5, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON This driver has been tested with a Globesurfer iCON 7.2, iCON 255, iCON 505 Quick setup for manual connection Look up the serial ports # sysctl dev.uhso dev.uhso.0.netif: uhso0 dev.uhso.0.type: Network/Serial dev.uhso.0.ports: 2 dev.uhso.0.port.control.tty: cuaU0.0 dev.uhso.0.port.control.desc: Control dev.uhso.0.port.application.tty: cuaU0.1 dev.uhso.0.port.application.desc: Application ... dev.uhso.1.type: Serial dev.uhso.1.ports: 1 dev.uhso.1.port.diagnostic.tty: cuaU1 dev.uhso.1.port.diagnostic.desc: Diagnostic Open /dev/cuaU0.0 in a terminal application, for example minicom. Issue the following commands to establish a connection. AT+CPIN="1234" # Your PIN OK AT_OWANCALL=1,1,1 OK AT_OWANDATA=1 _OWANDATA: 1, 95.209.79.126, 0.0.0.0, 80.251.201.177, 80.251.201.178, 0.0.0.0, 0.0.0.0, 72000 If you haven’t configured a PDP context with your providers APN, please see the hso page. Configure the interface and set a default route # ifconfig uhso0 95.209.79.126 # route add default -interface uhso0
10 Responses to “uhso(4): Option HSDPA driver for FreeBSD 8”
Leave a Reply
|
Entries (RSS)
Thank you very much, this driver works like a charm. It’s great!
http://sprunge.us/bOKd
Greetings,
Steffen
Hi , not working for me
FreeBSD zzz 8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #0: Tue Jan 5 16:02:27 UTC 2010 root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386
usbconfig:
ugen3.2: at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
usbconfig -u X -a Y dump_device_desc
bLength = 0×0012
bDescriptorType = 0×0001
bcdUSB = 0×0110
bDeviceClass = 0×00ff
bDeviceSubClass = 0×00ff
bDeviceProtocol = 0×00ff
bMaxPacketSize0 = 0×0040
idVendor = 0×0af0
idProduct = 0×6971
bcdDevice = 0×0000
iManufacturer = 0×0001
iProduct = 0×0002
iSerialNumber = 0×0004
bNumConfigurations = 0×0001
usbconfig -u X -a Y dump_all_config_desc
ugen3.2: at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
Configuration index 0
bLength = 0×0009
bDescriptorType = 0×0002
wTotalLength = 0×0041
bNumInterfaces = 0×0002
bConfigurationValue = 0×0001
iConfiguration = 0×0000
bmAttributes = 0×00a0
bMaxPower = 0×00fa
Interface 0
bLength = 0×0009
bDescriptorType = 0×0004
bInterfaceNumber = 0×0000
bAlternateSetting = 0×0000
bNumEndpoints = 0×0003
bInterfaceClass = 0×00ff
bInterfaceSubClass = 0×00ff
bInterfaceProtocol = 0×00ff
iInterface = 0×0003
Endpoint 0
bLength = 0×0007
bDescriptorType = 0×0005
bEndpointAddress = 0×0083
bmAttributes = 0×0002
wMaxPacketSize = 0×0040
bInterval = 0×0000
bRefresh = 0×0000
bSynchAddress = 0×0000
Endpoint 1
bLength = 0×0007
bDescriptorType = 0×0005
bEndpointAddress = 0×0003
bmAttributes = 0×0002
wMaxPacketSize = 0×0040
bInterval = 0×0000
bRefresh = 0×0000
bSynchAddress = 0×0000
Endpoint 2
bLength = 0×0007
bDescriptorType = 0×0005
bEndpointAddress = 0×0085
bmAttributes = 0×0003
wMaxPacketSize = 0×0010
bInterval = 0×0080
bRefresh = 0×0000
bSynchAddress = 0×0000
Additional Descriptor
bLength = 0×03
bDescriptorType = 0×24
bDescriptorSubType = 0×03
RAW dump:
0×00 | 0×03, 0×24, 0×03
Interface 1
bLength = 0×0009
bDescriptorType = 0×0004
bInterfaceNumber = 0×0001
bAlternateSetting = 0×0000
bNumEndpoints = 0×0002
bInterfaceClass = 0×00ff
bInterfaceSubClass = 0×00ff
bInterfaceProtocol = 0×00ff
iInterface = 0×0003
Endpoint 0
bLength = 0×0007
bDescriptorType = 0×0005
bEndpointAddress = 0×0084
bmAttributes = 0×0002
wMaxPacketSize = 0×0040
bInterval = 0×0000
bRefresh = 0×0000
bSynchAddress = 0×0000
Endpoint 1
bLength = 0×0007
bDescriptorType = 0×0005
bEndpointAddress = 0×0004
bmAttributes = 0×0002
wMaxPacketSize = 0×0040
bInterval = 0×0000
bRefresh = 0×0000
bSynchAddress = 0×0000
There is no uhso0 interface , when trying: uhsoctl uhso0 i get:
Segmentation fault (core dumped)
Hi Fredrik,
I followed your advice and removed u3g from kernel.
Now everything works . Thanks again
I bought the globesurfer for my icon 452 (Datajack) and the globesurfer isnt recongnizing it. please help.
I’m a newuser in FreeBSD. I’m using FreeBSD 8.0-RELEASE. I still can not connect to the internet. Below is the output of usbconfig command. How can I solved this problem?
#usbconfig
ugen0.1: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen1.1: at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
ugen2.1: at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen2.2: at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen2.3: at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen1.2: at usbus1, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
ugen2.4: at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
#usbconfig -u 2 -a 4 dump_device_desc
ugen2.4: at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
bLength = 0×0012
bDescriptorType = 0×0001
bcdUSB = 0×0200
bDeviceClass = 0×00ff
bDeviceSubClass = 0×00ff
bDeviceProtocol = 0×00ff
bMaxPacketSize0 = 0×0040
idVendor = 0×0af0
idProduct = 0×7501
bcdDevice = 0×0000
iManufacturer = 0×0002
iProduct = 0×0001
iSerialNumber = 0×0000
bNumConfigurations = 0×0001
#usbconfig -u 2 -a 4 dump_all_config_desc
ugen2.4: at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
Configuration index 0
bLength = 0×0009
bDescriptorType = 0×0002
wTotalLength = 0×0020
bNumInterfaces = 0×0001
bConfigurationValue = 0×0001
iConfiguration = 0×0000
bmAttributes = 0×0080
bMaxPower = 0×00fa
Interface 0
bLength = 0×0009
bDescriptorType = 0×0004
bInterfaceNumber = 0×0000
bAlternateSetting = 0×0000
bNumEndpoints = 0×0002
bInterfaceClass = 0×0008
bInterfaceSubClass = 0×0006
bInterfaceProtocol = 0×0050
iInterface = 0×0000
Endpoint 0
bLength = 0×0007
bDescriptorType = 0×0005
bEndpointAddress = 0×0001
bmAttributes = 0×0002
wMaxPacketSize = 0×0200
bInterval = 0×0000
bRefresh = 0×0000
bSynchAddress = 0×0000
Endpoint 1
bLength = 0×0007
bDescriptorType = 0×0005
bEndpointAddress = 0×0081
bmAttributes = 0×0002
wMaxPacketSize = 0×0200
bInterval = 0×0000
bRefresh = 0×0000
bSynchAddress = 0×0000
Thankyou very much,
Regards,
Hari
I’m so sorry. I used copy/paste that’s not work. The trully output is,
#usbconfig
…..
ugen2.4: at usbus2, cfg=0 md=HOST spd-HIGH (480Mbps) pwr=ON
#usconfig -u 2 -a 4 dump_device_desc
ugen2.4: at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
bLength = 0×0012
bDescriptorType = 0×0001
…..
Thanks,
Hari
Helo,
A have a problem with Option ICON 031,
Modem don’t work ,
I’m using FreeBSD 8.0-RELEASE. I still can not connect to the internet
Please, help me!
lap# usbconfig -u 0 -a 2 dump_device_desc
ugen0.2: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
bLength = 0×0012
bDescriptorType = 0×0001
bcdUSB = 0×0110
bDeviceClass = 0×0000
bDeviceSubClass = 0×0000
bDeviceProtocol = 0×0000
bMaxPacketSize0 = 0×0040
idVendor = 0×0af0
idProduct = 0xc031
bcdDevice = 0×0100
iManufacturer = 0×0001
iProduct = 0×0002
iSerialNumber = 0×0003
bNumConfigurations = 0×0001
lap# usbconfig -u 0 -a 2 dump_all_config_desc
ugen0.2: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
Configuration index 0
bLength = 0×0009
bDescriptorType = 0×0002
wTotalLength = 0×0020
bNumInterfaces = 0×0001
bConfigurationValue = 0×0001
iConfiguration = 0×0004
bmAttributes = 0×00c0
bMaxPower = 0×0032
Interface 0
bLength = 0×0009
bDescriptorType = 0×0004
bInterfaceNumber = 0×0000
bAlternateSetting = 0×0000
bNumEndpoints = 0×0002
bInterfaceClass = 0×0008
bInterfaceSubClass = 0×0006
bInterfaceProtocol = 0×0050
iInterface = 0×0005
Endpoint 0
bLength = 0×0007
bDescriptorType = 0×0005
bEndpointAddress = 0×0081
bmAttributes = 0×0002
wMaxPacketSize = 0×0040
bInterval = 0×0000
bRefresh = 0×0000
bSynchAddress = 0×0000
Endpoint 1
bLength = 0×0007
bDescriptorType = 0×0005
bEndpointAddress = 0×0002
bmAttributes = 0×0002
wMaxPacketSize = 0×0040
bInterval = 0×0000
bRefresh = 0×0000
bSynchAddress = 0×0000
Thanks,
MAriusz
and tthis
lap# sysctl dev.uhso
dev.uhso.0.%desc: Network
dev.uhso.0.%driver: uhso
dev.uhso.0.%location: port=1 interface=0
dev.uhso.0.%pnpinfo: vendor=0×0af0 product=0xc031 devclass=0xff devsubclass=0xff sernum=”serial_number” release=0×0100 intclass=0xff intsubclass=0xff
dev.uhso.0.%parent: uhub0
dev.uhso.0.netif: uhso0
dev.uhso.0.type: Network/Serial
dev.uhso.0.ports: 2
dev.uhso.0.port.control.tty: cuaU0.0
dev.uhso.0.port.control.desc: Control
dev.uhso.0.port.application.tty: cuaU0.1
dev.uhso.0.port.application.desc: Application
dev.uhso.1.%desc: Diagnostic
dev.uhso.1.%driver: uhso
dev.uhso.1.%location: port=1 interface=1
dev.uhso.1.%pnpinfo: vendor=0×0af0 product=0xc031 devclass=0xff devsubclass=0xff sernum=”serial_number” release=0×0100 intclass=0xff intsubclass=0xff
dev.uhso.1.%parent: uhub0
dev.uhso.1.type: Serial
dev.uhso.1.ports: 1
dev.uhso.1.port.diagnostic.tty: cuaU2
dev.uhso.1.port.diagnostic.desc: Diagnostic
dev.uhso.2.%desc: Modem
dev.uhso.2.%driver: uhso
dev.uhso.2.%location: port=1 interface=2
dev.uhso.2.%pnpinfo: vendor=0×0af0 product=0xc031 devclass=0xff devsubclass=0xff sernum=”serial_number” release=0×0100 intclass=0xff intsubclass=0xff
dev.uhso.2.%parent: uhub0
dev.uhso.2.type: Serial
dev.uhso.2.ports: 1
dev.uhso.2.port.modem.tty: cuaU3
dev.uhso.2.port.modem.desc: Modem
I have an option icon 322 and dmesg gives the following output when its inserted,
usb_alloc_device: set address 2 failed (USB_ERR_IOERROR, ignored)
usb_alloc_device: getting device descriptor at addr 2 failed, USB_ERR_IOERROR
usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_IOERROR, ignored)
usbd_req_re_enumerate: getting device descriptor at addr 2 failed, USB_ERR_IOERROR
usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_IOERROR, ignored)
usbd_req_re_enumerate: getting device descriptor at addr 2 failed, USB_ERR_IOERROR
ugen0.2: at usbus0 (disconnected)
uhub_reattach_port: could not allocate new device
Any ideas how i can get this to work? thanks
btw i’m using module from ports uhso-20100416 and uname -a is FreeBSD bsd.sprintbusiness.net 8.1-STABLE FreeBSD 8.1-STABLE #1: Sat Aug 21 15:40:01 PDT 2010 xxxx@bsd.xxxxxx:/usr/obj/usr/src/sys/GENERIC amd64