|
Apr
22
2008
First release of FreeBSD driver for Option HSDPA devicesPosted by fli in FreeBSD, tags: FreeBSD, hsdpa, hso, optionI’ve published the first public beta of my FreeBSD driver for Option HSDPA modems. The driver is still beta but have been successfully tested (and used) with a Option GlobeSurfer iCON 7.2 S device (using a Turbo 3G account from Tre/Hi3G Access Sweden). The driver is available for download together with instructions at the hso page. Please report successes and failures.
10 Responses to “First release of FreeBSD driver for Option HSDPA devices”
Leave a Reply
|
Entries (RSS)
Hi
I have been testing your driver with a USB dongle from Telenor…
Some success
I will see what info i can find on this device and see if i can reach further…
Thanks for your work
Cheers
/Hasse
Device ID 0×6901 (Option NV device from Telenor)
> camcontrol cmd cd0 -c “01 00 00 00 00 00″ -i 1 i1
hso0: on uhub4
hso_attach_muxserial: config desc begin=0xc644aa00, end=0xc644aa55, mux=0xc644aa27
hso_attach_muxserial: invalid mux descriptor len=9, type=4
device_attach: hso0 attach returned 6
And if i commet out /* Sanity check the descriptor values */ in hso_attach_muxserial
hso0: on uhub4
hso_attach_muxserial: config desc begin=0xc6b3cb80, end=0xc6b3cbd5, mux=0xc6b3cba7
hso_attach_muxserial: mux port mask 1
hso_attach_muxserial: found mux port 1 (0)
hso_attach_muxserial: intr endpoint=129, size=16
hso_attach_ifnet: mac addr 40:0c:e3:69:01:00
hso0: Ethernet address: 40:0c:e3:69:01:00
hso_attach_bulkserial: found bulk endpoints in=84, out=4
The devices are created
cuaHSO0.0
cuaHSO0.1
ttyHSO0.0
ttyHSO0.1
hso0: flags=882 metric 0 mtu 1500
ether 40:0c:e3:69:01:00
echo “ATZ” > /dev/cuaHSO0.0 (give this error)
kernel: hso_tty_open: ht=0xc676d180
kernel: hso_txcb: hso_txcb: non-normal status
kernel: hso_tty_close: ht=0xc676d180
But when i fire minicom up; the system panics
dmesg:
Copyright (c) 1992-2008 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 7.0-STABLE-200804 #0: Tue Apr 29 21:46:32 CEST 2008
hasse@freebsd:/usr/obj/usr/src/sys/MYKERNEL
WARNING: WITNESS option enabled, expect reduced performance.
Timecounter “i8254″ frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (2400.02-MHz 686-class CPU)
Origin = “GenuineIntel” Id = 0×6f6 Stepping = 6
Features=0xbfebfbff
Features2=0xe3bd
AMD Features=0×20100000
AMD Features2=0×1
Cores per package: 2
real memory = 3220045824 (3070 MB)
avail memory = 3149500416 (3003 MB)
ACPI APIC Table:
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
WITNESS: spin lock intrcnt not in order list
ioapic0: Changing APIC ID to 2
ioapic0 irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, bfde0000 (3) failed
Timecounter “ACPI-fast” frequency 3579545 Hz quality 1000
acpi_timer0: port 0×408-0×40b on acpi0
acpi_hpet0: iomem 0xfed00000-0xfed003ff on acpi0
Timecounter “HPET” frequency 14318180 Hz quality 900
cpu0: on acpi0
acpi_perf0: on cpu0
p4tcc0: on cpu0
cpu1: on acpi0
est1: on cpu1
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 929092906000929
device_attach: est1 attach returned 6
p4tcc1: on cpu1
acpi_button0: on acpi0
pcib0: port 0xcf8-0xcff on acpi0
pci0: on pcib0
pcib1: irq 16 at device 1.0 on pci0
pci1: on pcib1
vgapci0: port 0xa000-0xa0ff mem 0xe0000000-0xefffffff,0xf5000000-0xf500ffff irq 16 at device 0.0 on pci1
pcm0: mem 0xf5010000-0xf5013fff irq 17 at device 0.1 on pci1
pcm0: [ITHREAD]
uhci0: port 0xe000-0xe01f irq 16 at device 26.0 on pci0
uhci0: [GIANT-LOCKED]
uhci0: [ITHREAD]
usb0: on uhci0
usb0: USB revision 1.0
uhub0: on usb0
uhub0: 2 ports with 2 removable, self powered
uhci1: port 0xe100-0xe11f irq 21 at device 26.1 on pci0
uhci1: [GIANT-LOCKED]
uhci1: [ITHREAD]
usb1: on uhci1
usb1: USB revision 1.0
uhub1: on usb1
uhub1: 2 ports with 2 removable, self powered
uhci2: port 0xe500-0xe51f irq 18 at device 26.2 on pci0
uhci2: [GIANT-LOCKED]
uhci2: [ITHREAD]
usb2: on uhci2
usb2: USB revision 1.0
uhub2: on usb2
uhub2: 2 ports with 2 removable, self powered
ehci0: mem 0xf8205000-0xf82053ff irq 18 at device 26.7 on pci0
ehci0: [GIANT-LOCKED]
ehci0: [ITHREAD]
usb3: EHCI version 1.0
usb3: companion controllers, 2 ports each: usb0 usb1 usb2
usb3: on ehci0
usb3: USB revision 2.0
uhub3: on usb3
uhub3: 6 ports with 6 removable, self powered
pcm1: mem 0xf8200000-0xf8203fff irq 22 at device 27.0 on pci0
pcm1: [ITHREAD]
pcib2: irq 16 at device 28.0 on pci0
pci2: on pcib2
pcib3: irq 16 at device 28.4 on pci0
pci3: on pcib3
atapci0: port 0xb000-0xb007,0xb100-0xb103,0xb200-0xb207,0xb300-0xb303,0xb400-0xb40f mem 0xf8000000-0xf8001fff irq 16 at device 0.0 on pci3
atapci0: [ITHREAD]
atapci0: AHCI called from vendor specific driver
atapci0: AHCI Version 01.00 controller with 2 ports detected
ata2: on atapci0
ata2: [ITHREAD]
ata3: on atapci0
ata3: [ITHREAD]
ata4: on atapci0
ata4: [ITHREAD]
pcib4: irq 17 at device 28.5 on pci0
pci4: on pcib4
re0: port 0xc000-0xc0ff mem 0xf7000000-0xf7000fff irq 17 at device 0.0 on pci4
re0: Using 2 MSI messages
miibus0: on re0
rgephy0: PHY 1 on miibus0
rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
re0: Ethernet address: 00:1a:4d:4a:58:db
re0: [FILTER]
re0: [FILTER]
uhci3: port 0xe200-0xe21f irq 23 at device 29.0 on pci0
uhci3: [GIANT-LOCKED]
uhci3: [ITHREAD]
usb4: on uhci3
usb4: USB revision 1.0
uhub4: on usb4
uhub4: 2 ports with 2 removable, self powered
uhci4: port 0xe300-0xe31f irq 19 at device 29.1 on pci0
uhci4: [GIANT-LOCKED]
uhci4: [ITHREAD]
usb5: on uhci4
usb5: USB revision 1.0
uhub5: on usb5
uhub5: 2 ports with 2 removable, self powered
uhci5: port 0xe400-0xe41f irq 18 at device 29.2 on pci0
uhci5: [GIANT-LOCKED]
uhci5: [ITHREAD]
usb6: on uhci5
usb6: USB revision 1.0
uhub6: on usb6
uhub6: 2 ports with 2 removable, self powered
ehci1: mem 0xf8204000-0xf82043ff irq 23 at device 29.7 on pci0
ehci1: [GIANT-LOCKED]
ehci1: [ITHREAD]
usb7: EHCI version 1.0
usb7: companion controllers, 2 ports each: usb4 usb5 usb6
usb7: on ehci1
usb7: USB revision 2.0
uhub7: on usb7
uhub7: 6 ports with 6 removable, self powered
pcib5: at device 30.0 on pci0
pci5: on pcib5
pci5: at device 1.0 (no driver attached)
pci5: at device 6.0 (no driver attached)
isab0: at device 31.0 on pci0
isa0: on isab0
atapci1: port 0×1f0-0×1f7,0×3f6,0×170-0×177,0×376,0xf000-0xf00f,0xfc00-0xfc0f at device 31.2 on pci0
ata0: on atapci1
ata0: [ITHREAD]
ata1: on atapci1
ata1: [ITHREAD]
pci0: at device 31.3 (no driver attached)
atapci2: port 0xe700-0xe707,0xe800-0xe803,0xe900-0xe907,0xea00-0xea03,0xeb00-0xeb0f,0xec00-0xec0f irq 19 at device 31.5 on pci0
atapci2: [ITHREAD]
ata5: on atapci2
ata5: [ITHREAD]
ata6: on atapci2
ata6: [ITHREAD]
fdc0: port 0×3f0-0×3f5,0×3f7 irq 6 drq 2 on acpi0
fdc0: [FILTER]
sio0: port 0×3f8-0×3ff irq 4 flags 0×10 on acpi0
sio0: type 16550A
sio0: [FILTER]
atkbdc0: port 0×60,0×64 irq 1 on acpi0
atkbd0: irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
pmtimer0 on isa0
orm0: at iomem 0xc0000-0xcefff pnpid ORM0000 on isa0
sc0: at flags 0×100 on isa0
sc0: VGA
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: at port 0×3c0-0×3df iomem 0xa0000-0xbffff on isa0
ugen0: on uhub0
ums0: on uhub0
ums0: 3 buttons and Z dir.
ugen1: on uhub4
Timecounters tick every 1.000 msec
ad2: 152626MB at ata1-master SATA150
ad3: 305244MB at ata1-slave SATA300
acd0: DVDR at ata2-master SATA150
pcm0:
pcm0:
pcm1:
pcm1:
SMP: AP CPU #1 Launched!
WARNING: WITNESS option enabled, expect reduced performance.
GEOM_LABEL: Label for provider ad2s1 is ntfs/Local Disk.
Trying to mount root from ufs:/dev/ad2s2a
WARNING: / was not properly dismounted
WARNING: /tmp was not properly dismounted
WARNING: /usr was not properly dismounted
WARNING: /var was not properly dismounted
ugen1: at uhub4 port 1 (addr 2) disconnected
ugen1: detached
umass0: on uhub4
cd0 at umass-sim0 bus 0 target 0 lun 0
cd0: Removable CD-ROM SCSI-2 device
cd0: 1.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
umass0: BBB reset failed, STALLED
umass0: BBB bulk-in clear stall failed, STALLED
umass0: BBB bulk-out clear stall failed, STALLED
umass0: at uhub4 port 1 (addr 2) disconnected
(cd0:umass-sim0:0:0:0): lost device
(cd0:umass-sim0:0:0:0): removing device entry
umass0: detached
Hi
I have been testing your driver
The system is: i386 FreeBSD 7.0-STABLE-200804
Device ID 0×6901 (Telenor usb dongle)
> camcontrol cmd cd0 -c “01 00 00 00 00 00″ -i 1 i1
hso0: on uhub4
hso_attach_muxserial: config desc begin=0xc644aa00, end=0xc644aa55, mux=0xc644aa27
hso_attach_muxserial: invalid mux descriptor len=9, type=4
device_attach: hso0 attach returned 6
And if i commet out
/* Sanity check the descriptor values */ in hso_attach_muxserial
hso0: on uhub4
hso_attach_muxserial: config desc begin=0xc6b3cb80, end=0xc6b3cbd5, mux=0xc6b3cba7
hso_attach_muxserial: mux port mask 1
hso_attach_muxserial: found mux port 1 (0)
hso_attach_muxserial: intr endpoint=129, size=16
hso_attach_ifnet: mac addr 40:0c:e3:69:01:00
hso0: Ethernet address: 40:0c:e3:69:01:00
hso_attach_bulkserial: found bulk endpoints in=84, out=4
The cua, tty and hso0 devices are created
When i fire minicom up – the system panics
but i caugth this:
kernel: hso_tty_open: ht=0xc676d180
kernel: hso_txcb: hso_txcb: non-normal status
kernel: hso_tty_close: ht=0xc676d180
i will see if i can find more info in this device and see if i can come futher.
Thanks for the great work
Cheers
/Hasse
What’s the device ID of the device before switching, 0×05c6 ?
The device ID 0×6901 looks like a GlobeSurfer iCON 7.2 but with the old firmware that doesn’t require a separate driver.
Try adding the device id to the ubsa driver (sys/dev/usb/ubsa.c) and check if that driver works.
If you have a windows box, you can fire up the HyperTerminal and do a AT+GMR to get the firmware version.
Yes, it is a 0×05c6. It works with the ubsa driver and connection with ppp
Card name: GTM378
Firmware version: 1.12, 1Hd (Feb 22, 2007)
Hardware version: 3.1
Is this driver a translation to FreeBSD of the Option HSO driver (see pharscape)?
@endorendil
No and Yes, it’s not a translation (port or whatever) in the sense that there is NO code shared between the two drivers/projects.
However, the Linux-driver is the only hardware “documentation” I’ve found so of course it has been used to understand how the hardware works (USB endpoints, initialization sequences, etc).
Hi fli,
Thanks. The lack of documentation leads to another question: is the new driver actually better than the previous ones (nozomi/kernel module), or is it just a way to create a proprietary set of drivers and software?
This driver is NOT for the nozomi chipset but for the various new HSxPA USB-dongles from Option. (GlobeSurfer, iCON, etc). The blog post title is a bit misleading, I’ll give you that.
There is some code for the nozomi chipset floating around on freebsd-mobile@ (or maybe it was on freebsd-net@). I don’t know how usable it is though.
Hi fli,
I am just wondering why they had to change the interface at all. Seems gratuitous. None of the other vendors seems to have actually changed anything in going to the new speeds.
Well, the Nozomi cards have PC-card interface. Their older USB cards used to work with “generic” serial-over-usb drivers but newer “high speed” USB cards have a have changed this. I don’t know why they did it tough.