site  contact  subhomenews

Hso modem driver

December 04, 2010 — BarryK
While developing my 'zzz' 3G modem support, I was puzzled that I do not have the 'hso.ko' module in the 2.6.31.14 kernel that I am using for Wary 098 and Quirky 1.4.

This site http://www.pharscape.org/hso.html states that the hso driver is in kernel 2.6.27 and later.

I looked in my kernel PET packages, and yes, it is in my 2.6.27.47 PET, It is also in the 2.6.30.5 kernel PET. However it is missing from 2.6.31 and later kernel PETs.

Oh, i see why. I have configured 2.6.31 and later with 'rfkill' turned off, which hso requires: in kernel source drivers/net/usb/Kconfig:

config USB_HSO
tristate "Option USB High Speed Mobile Devices"
depends on USB && RFKILL


However, I have found a Hso source package that is a backport from 2.6.33 to 2.6.31 kernel, and it does compile:

http://www.pharscape.org/forum/index.php/topic,827.0.html

It states that it is version 1.2, but the changelog shows that the author Paul has backported lots of things from the 1.14 release.

The big question is though, will it actually work with my kernel that has rfkill disabled? 'depmod' reports no missing symbols, but perhaps the internal code in the module expects some functionality that rfkill provides.

Request to test hso.ko
Anyone reading this who has a 3G modem that uses this driver? Like for example this AT&T Velocity modem with GPS: http://www.pharscape.org/att-velocity-gps-and-linux.html
The main Hso page http://www.pharscape.org/hso.html lists all the devices supported by the hso.ko module.
If so, would you be prepared to help me, test a special build of Quirky with this driver included? Let me know and I will built it an upload it.

Well, I guess that I could just upload the module, and if you have Wary 098 or Quirky 1.4, that use the 2.6.31.14 kernel, you could give it a try. Gunzip it and place it somewhere in /lib/modules/2.6.31.14 -- the official location is /lib/modules/2.6.31.14/kernel/drivers/net/wwan/hso.ko. Then run 'depmod'.
You might have to blacklist the 'option.ko' module -- quickest way to do this is create a file /etc/modprobe.d/option.conf with just one line in it: "blacklist option" (without the quotes).
Reboot, with modem plugged in. No go, try replugging it. After hso.ko has loaded, you should see /dev/ttyHS* ports. Any failure will probably be reported in /var/log/messages.
...it might load ok, but will it actually work without the rfkill subsystem? Let me know!

I have uploaded the module here:
http://distro.ibiblio.org/pub/linux/distributions/quirky/test/hso.ko.gz

Tags: quirky