Subject: kern/28088: Add support for Vodafone 3G Mobile Connect cardbus card.
To: None <>
From: None <>
List: netbsd-bugs
Date: 11/08/2004 09:17:40
>Number:         28088
>Category:       kern
>Synopsis:       Add support for Vodafone 3G Mobile Connect cardbus card
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Nov 08 09:18:00 UTC 2004
>Originator:     Stephen Borrill
>Release:        NetBSD 2.0_RC4
Precedence Technologies Ltd
	<The following information is extracted from your kernel. Please>
	<append output of "ldd", "ident" where relevant (multiple lines).>
System: NetBSD laptop 2.0_RC4 NetBSD 2.0_RC4 (LAPTOP) #0: Tue Oct 26 17:17:21 BST 2004 root@laptop:/usr/2.0/sys/arch/i386/compile/LAPTOP i386
Architecture: i386
Machine: i386
The Vodafone 3G Mobile Connect card is not supported in NetBSD 2.0 or
-current. Support is easily added (it's an ohci with an attached ubsa).
However, a bug in the ubsa code causes panics. A fix has been submitted
separately as kern/28086 as it was felt to be of a wider importance.

With the attached patch, the device is recognised:

ohci0 at cardbus0 dev 0 function 0: Opti RM861HA (rev. 0x10)
ohci0: interrupting at 3
ohci0: OHCI version 1.0, legacy support
usb4 at ohci0: USB revision 1.0
uhub4 at usb4
uhub4: Opti OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub4: 2 ports with 2 removable, self powered
ubsa0 at uhub4 port 1
ubsa0: Vodafone Vodafone Mobile Connect Card - 3G, rev 2.00/0.00, addr 2
ubsa0: Vodafone Vodafone Mobile Connect Card - 3G, rev 2.00/0.00, addr 2
ucom0 at ubsa0

Plug in card. See that dmesg reports:
(manufacturer 0x0, product 0x0) Opti RM861HA (USB serial bus, interface 0x10,
	revision 0x10) at cardbus0dev 0 function 0 not configured

Uncomment the following from your kernel config (why is this commented out
ohci*   at cardbus? dev ? function ?    # Open Host Controller

and add the following (once again, why isn't this standard?):
ubsa*   at uhub? port ?         # Belkin serial adapter
ucom*   at ubsa? portno ?

Patch against 2.0_RC4 (and probably -current) follows. Remember to generate
usbdevs headers again with "make -f Makefile.usbdevs".

--- usbdevs.orig	Thu Oct 28 12:02:25 2004
+++ usbdevs	Thu Oct 28 12:04:18 2004
@@ -339,6 +339,7 @@
 vendor GEOCAST		0x0a79	Geocast Network Systems
 vendor NEODIO		0x0aec  Neodio
+vendor VODAFONE		0x0af0	Vodafone
 vendor TODOS		0x0b0c	Todos Data System
 vendor HAL		0x0b41	HAL Corporation
 vendor EMS		0x0b43	EMS Production
@@ -1613,6 +1614,9 @@
 /* Vivitar products */
 product VIVITAR DSC350		0x0003	DSC350 Camera
+/* Vodafone products */
+product VODAFONE MOBILE_3G	0x5000	Mobile Connect 3G	
 /* Wacom products */
 product WACOM CT0405U		0x0000	CT-0405-U Tablet
--- ubsa.c.orig	Mon Jan  5 13:28:18 2004
+++ ubsa.c	Fri Nov  5 16:57:12 2004
@@ -231,6 +231,8 @@
 	/* Peracom */
+	/* Vodafone */
 #define ubsa_lookup(v, p) usb_lookup(ubsa_devs, v, p)
 	<Please check that the above is correct for the bug being reported,>
 	<and append source date of snapshot, if applicable (one line).>