From owner-freebsd-usb@FreeBSD.ORG Tue Dec 3 10:33:35 2013 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 94BB12AB for ; Tue, 3 Dec 2013 10:33:35 +0000 (UTC) Received: from mail4out.barnet.com.au (mail4out.barnet.com.au [202.83.178.123]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 18FB11750 for ; Tue, 3 Dec 2013 10:33:34 +0000 (UTC) Received: from localhost (antivirus1.int.barnet.com.au [10.252.48.11]) by mail4out.barnet.com.au (Postfix) with ESMTP id E6B7837BB6B for ; Tue, 3 Dec 2013 21:28:21 +1100 (EST) X-Virus-Scanned: Debian amavisd-new at barnet.com.au Received: from mail4.barnet.com.au ([202.83.178.125]) by localhost (antivirus1.int.barnet.com.au [10.252.48.11]) (amavisd-new, port 10024) with ESMTP id RAzzq8Gel8Nr for ; Tue, 3 Dec 2013 21:28:20 +1100 (EST) Received: from mail4auth.barnet.com.au (mail4.barnet.com.au [202.83.178.125]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "*.barnet.com.au", Issuer "RapidSSL CA" (not verified)) by mail4.barnet.com.au (Postfix) with ESMTPS id 77C37422C6F for ; Tue, 3 Dec 2013 21:28:20 +1100 (EST) Received: from [10.204.250.100] (ppp121-44-183-197.lns20.syd7.internode.on.net [121.44.183.197]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mail4auth.barnet.com.au (Postfix) with ESMTPSA id F1FA237BB3A for ; Tue, 3 Dec 2013 21:28:19 +1100 (EST) Message-ID: <529DB241.7030203@freebsd.org> Date: Tue, 03 Dec 2013 21:28:17 +1100 From: Edwin Groothuis - FreeBSD Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: freebsd-usb@freebsd.org Subject: Huawei K4606 issues X-Enigmail-Version: 1.6 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="e91IfGTKCeDB3et3iPwJmwncq9tXgmkse" X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Dec 2013 10:33:35 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --e91IfGTKCeDB3et3iPwJmwncq9tXgmkse Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello, I am the proud owner of a Huawei K4606 3G USB dongle and guess... It doesn't work. In the past I managed to get the E220 and E169 working, so I thought that this would be possible to. Boy was I wrong :-( The device shows up as: ugen4.2: at usbus4, cfg=3D1 md=3DHOST spd=3DHIGH (480Mbps) pwr=3DON (500mA) bLength =3D 0x0012 bDescriptorType =3D 0x0001 bcdUSB =3D 0x0200 bDeviceClass =3D 0x0000 bDeviceSubClass =3D 0x0000 bDeviceProtocol =3D 0x00ff bMaxPacketSize0 =3D 0x0040 idVendor =3D 0x12d1 idProduct =3D 0x1f19 bcdDevice =3D 0x0102 iManufacturer =3D 0x0005 iProduct =3D 0x0004 iSerialNumber =3D 0x0007 bNumConfigurations =3D 0x0002 I added this to usbdevs: +product HUAWEI K4606 0x1f19 3G modem And this to u3g.c: + U3G_DEV(HUAWEI, K4606, U3GINIT_HUAWEI), (also used U3GINIT_HUAWEISCSI, didn't change) And I added some debug information to u3g.c function u3g_probe: { struct usb_attach_arg *uaa =3D device_get_ivars(self); + printf(">>idVendor:0x%x\n", uaa->info.idVendor); + printf(">>idProduct:0x%x\n", uaa->info.idProduct); + + if (uaa->info.idVendor !=3D USB_VENDOR_HUAWEI) + return (ENXIO); + + printf(">>uaa->info.bInterfaceClass:%d (must be %d)\n", + uaa->info.bInterfaceClass, UICLASS_VENDOR); + printf(">>uaa->info.bConfigIndex:%d (must be %d)\n", + uaa->info.bConfigIndex, U3G_CONFIG_INDEX); + + + printf(">>u3g_probe - 1: usb_mode\n"); if (uaa->usb_mode !=3D USB_MODE_HOST) { return (ENXIO); } + printf(">>u3g_probe - 2: bConfigIndex\n"); if (uaa->info.bConfigIndex !=3D U3G_CONFIG_INDEX) { return (ENXIO); } + printf(">>u3g_probe - 3: bInterfaceClass\n"); if (uaa->info.bInterfaceClass !=3D UICLASS_VENDOR) { return (ENXIO); } + printf(">>u3g_probe - 4: lookup\n"); return (usbd_lookup_id_by_uaa(u3g_devs, sizeof(u3g_devs), uaa)); } When I load the u3g.ko, it shows me that the device gets probed for the right idVendor and idProduct, but that the expected values for bInterfaceClass and bConfigIndex are never matching what is expected and thus the attachment never will be done: Dec 3 20:56:56 t43 root: Unknown USB device: vendor 0x0483 product 0x2016 bus uhub2 Dec 3 20:56:56 t43 kernel: >>u3g_driver_loaded Dec 3 20:56:56 t43 kernel: >>idVendor:0x483 Dec 3 20:56:56 t43 kernel: >>idProduct:0x2016 Dec 3 20:56:56 t43 kernel: >>idVendor:0x12d1 Dec 3 20:56:56 t43 kernel: >>idProduct:0x1f19 Dec 3 20:56:56 t43 kernel: >>uaa->info.bInterfaceClass:2 (must be 255) Dec 3 20:56:56 t43 kernel: >>uaa->info.bConfigIndex:1 (must be 0) Dec 3 20:56:56 t43 kernel: >>u3g_probe - 1: usb_mode Dec 3 20:56:56 t43 kernel: >>u3g_probe - 2: bConfigIndex Dec 3 20:56:56 t43 kernel: >>idVendor:0x12d1 Dec 3 20:56:56 t43 kernel: >>idProduct:0x1f19 Dec 3 20:56:56 t43 kernel: >>uaa->info.bInterfaceClass:10 (must be 255) Dec 3 20:56:56 t43 kernel: >>uaa->info.bConfigIndex:1 (must be 0) Dec 3 20:56:56 t43 kernel: >>u3g_probe - 1: usb_mode Dec 3 20:56:56 t43 kernel: >>u3g_probe - 2: bConfigIndex Dec 3 20:56:56 t43 kernel: >>idVendor:0x12d1 Dec 3 20:56:56 t43 kernel: >>idProduct:0x1f19 Dec 3 20:56:56 t43 kernel: >>uaa->info.bInterfaceClass:2 (must be 255) Dec 3 20:56:56 t43 kernel: >>uaa->info.bConfigIndex:1 (must be 0) Dec 3 20:56:56 t43 kernel: >>u3g_probe - 1: usb_mode Dec 3 20:56:56 t43 kernel: >>u3g_probe - 2: bConfigIndex Dec 3 20:56:56 t43 kernel: >>idVendor:0x12d1 Dec 3 20:56:56 t43 kernel: >>idProduct:0x1f19 Dec 3 20:56:56 t43 kernel: >>uaa->info.bInterfaceClass:10 (must be 255) Dec 3 20:56:56 t43 kernel: >>uaa->info.bConfigIndex:1 (must be 0) Dec 3 20:56:56 t43 kernel: >>u3g_probe - 1: usb_mode Dec 3 20:56:56 t43 kernel: >>u3g_probe - 2: bConfigIndex Dec 3 20:56:56 t43 root: Unknown USB device: vendor 0x12d1 product 0x1f19 bus uhub4 Doing the magic trick of taking out the USB device half-way and let it reinitialize didn't change anything. So, I'm now utterly confused. If anybody can give me a pointer in the right direction, it would be appreciated. Edwin --e91IfGTKCeDB3et3iPwJmwncq9tXgmkse Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.22 (Darwin) Comment: GPGTools - https://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCgAGBQJSnbJDAAoJEBHEgofFk7N65bAH/3Z5rRM7cUDs1MLBJ/7UeS2A LeLS9tMWnIpDvM7EAmb/iYuqMgoy+MVnoLj0997karPQ0I9vax4gAKTaih2e5qe2 a06CRNzmJ5Eyzv4SBSpYAHJdk+pfQx4vPcuZS2A7ONt/mncMX059Au3y6dHdDb4V MBau97BA2+UWBX8vNX5hPSMeY4FuaukHnDuD3fwmzuLCYarTmJTopuakL8Ng9GLT YEVjgKGN9oWT6KQXKx3iyUqroWODhKUdYcgoVX3CpsHCfa2gic+D2EhkJ765EVXe Wf5bLjW95/bCOCmHrTHPKaxwAgssYqgc9ixlGc0uWvsd2M3XFTuYNvvw4cceNfc= =Lg1g -----END PGP SIGNATURE----- --e91IfGTKCeDB3et3iPwJmwncq9tXgmkse--