Date: Sun, 30 Jan 2011 11:32:01 +1100 From: Peter Jeremy <peterjeremy@acm.org> To: freebsd-usb@freebsd.org Subject: ACM interface on TI Launchpad Message-ID: <20110130003201.GA99514@server.vk2pj.dyndns.org>
next in thread | raw e-mail | index | archive | help
--qDbXVdCdHGoSgWSk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable I recently acquired a TI LaunchPad[1] and want to use FreeBSD as my development enviroment (for anyone else who is interested in this, at some stage I intend to post my experiences with the various ports to -ports or feel free to contact me off-list). It provides a FET430UIF USB interface to the host computer and some googling shows that this is a Communication Device Class (CDC), Abstract Control Model (ACM) sub-class which is supported in Linux via the cdc_acm driver. On FreeBSD 8.1, umodem(4) reports: ugen0.2: <Texas Instruments> at usbus0 umodem0: <MSP430 Application UART> on usbus0 umodem0: data interface 0, has no CM over data, has no break and creates /dev/ttyU0 (and friends) but mspdebug reports that it cannot access the UIF (so it is presumably talking to the device UART, rather than the control interface). I have tried adding the device id to usbdevs and {USB_VPI(USB_VENDOR_TI, USB_PRODUCT_TI_FET430UIF, 1)}, to sys/dev/usb/serial/umodem.c:umodem_devs[] and this changes the probe to: ugen4.2: <Texas Instruments> at usbus4 umodem0: <MSP430 Application UART> on usbus4 umodem0: data interface 0, has no CM over data, has no break umodem1: <MSP430 Debug-Interface> on usbus4 umodem1: Missing descriptor. Assuming data interface is next. umodem1: data interface 2, has CM over data, has no break umodem1: no data interface device_attach: umodem1 attach returned 6 umodem1: <MSP430 Debug-Interface> on usbus4 umodem1: Missing descriptor. Assuming data interface is next. umodem1: data interface 2, has CM over data, has no break umodem1: no data interface device_attach: umodem1 attach returned 6 but there's no change to the accessibility. Looking at the Linux driver sources, there are no quirks for this on Linux. How do I go about getting umodem(4) (or some other driver) to detect the debug interfaces on FreeBSD? The output from "usbconfig dump_device_desc" is: ugen4.2: <Texas Instruments MSP-FET430UIF Texas Instruments> at usbus4, cfg= =3D0 md=3DHOST spd=3DFULL (12Mbps) pwr=3DON bLength =3D 0x0012=20 bDescriptorType =3D 0x0001=20 bcdUSB =3D 0x0110=20 bDeviceClass =3D 0x0000=20 bDeviceSubClass =3D 0x0000=20 bDeviceProtocol =3D 0x0000=20 bMaxPacketSize0 =3D 0x0008=20 idVendor =3D 0x0451=20 idProduct =3D 0xf432=20 bcdDevice =3D 0x0100=20 iManufacturer =3D 0x0001 <Texas Instruments> iProduct =3D 0x0002 <Texas Instruments MSP-FET430UIF> iSerialNumber =3D 0x0003 <1EFF426C50172852> bNumConfigurations =3D 0x0001=20 The output from "usbconfig dump_curr_config_desc" is: ugen4.2: <Texas Instruments MSP-FET430UIF Texas Instruments> at usbus4, cfg= =3D0 md=3DHOST spd=3DFULL (12Mbps) pwr=3DON Configuration index 0 bLength =3D 0x0009=20 bDescriptorType =3D 0x0002=20 wTotalLength =3D 0x0055=20 bNumInterfaces =3D 0x0002=20 bConfigurationValue =3D 0x0001=20 iConfiguration =3D 0x0000 <no string> bmAttributes =3D 0x0080=20 bMaxPower =3D 0x0032=20 Interface 0 bLength =3D 0x0009=20 bDescriptorType =3D 0x0004=20 bInterfaceNumber =3D 0x0000=20 bAlternateSetting =3D 0x0000=20 bNumEndpoints =3D 0x0003=20 bInterfaceClass =3D 0x0002=20 bInterfaceSubClass =3D 0x0002=20 bInterfaceProtocol =3D 0x0001=20 iInterface =3D 0x0005 <MSP430 Application UART> Additional Descriptor bLength =3D 0x05 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x00 RAW dump:=20 0x00 | 0x05, 0x24, 0x00, 0x10, 0x01 Additional Descriptor bLength =3D 0x05 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x01 RAW dump:=20 0x00 | 0x05, 0x24, 0x01, 0x00, 0x00 Additional Descriptor bLength =3D 0x04 bDescriptorType =3D 0x24 bDescriptorSubType =3D 0x02 RAW dump:=20 0x00 | 0x04, 0x24, 0x02, 0x02 Endpoint 0 bLength =3D 0x0007=20 bDescriptorType =3D 0x0005=20 bEndpointAddress =3D 0x0082 <IN> bmAttributes =3D 0x0003 <INTERRUPT> wMaxPacketSize =3D 0x0040=20 bInterval =3D 0x00ff=20 bRefresh =3D 0x0000=20 bSynchAddress =3D 0x0000=20 Endpoint 1 bLength =3D 0x0007=20 bDescriptorType =3D 0x0005=20 bEndpointAddress =3D 0x0003 <OUT> bmAttributes =3D 0x0002 <BULK> wMaxPacketSize =3D 0x0040=20 bInterval =3D 0x00ff=20 bRefresh =3D 0x0000=20 bSynchAddress =3D 0x0000=20 Endpoint 2 bLength =3D 0x0007=20 bDescriptorType =3D 0x0005=20 bEndpointAddress =3D 0x0083 <IN> bmAttributes =3D 0x0002 <BULK> wMaxPacketSize =3D 0x0040=20 bInterval =3D 0x00ff=20 bRefresh =3D 0x0000=20 bSynchAddress =3D 0x0000=20 Interface 1 bLength =3D 0x0009=20 bDescriptorType =3D 0x0004=20 bInterfaceNumber =3D 0x0001=20 bAlternateSetting =3D 0x0000=20 bNumEndpoints =3D 0x0002=20 bInterfaceClass =3D 0x0003=20 bInterfaceSubClass =3D 0x0000=20 bInterfaceProtocol =3D 0x0000=20 iInterface =3D 0x0004 <MSP430 Debug-Interface> Additional Descriptor bLength =3D 0x09 bDescriptorType =3D 0x21 bDescriptorSubType =3D 0x01 RAW dump:=20 0x00 | 0x09, 0x21, 0x01, 0x01, 0x00, 0x01, 0x22, 0xb6,=20 0x08 | 0x02 Endpoint 0 bLength =3D 0x0007=20 bDescriptorType =3D 0x0005=20 bEndpointAddress =3D 0x0081 <IN> bmAttributes =3D 0x0003 <INTERRUPT> wMaxPacketSize =3D 0x0040=20 bInterval =3D 0x0001=20 bRefresh =3D 0x0000=20 bSynchAddress =3D 0x0000=20 Endpoint 1 bLength =3D 0x0007=20 bDescriptorType =3D 0x0005=20 bEndpointAddress =3D 0x0001 <OUT> bmAttributes =3D 0x0003 <INTERRUPT> wMaxPacketSize =3D 0x0040=20 bInterval =3D 0x0001=20 bRefresh =3D 0x0000=20 bSynchAddress =3D 0x0000=20 [1] http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_%28MSP-EXP430G= 2%29 --=20 Peter Jeremy --qDbXVdCdHGoSgWSk Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (FreeBSD) iEYEARECAAYFAk1EsYEACgkQ/opHv/APuIdrlACfVoGVD2H/PB55Jyt0FQF3bwzd uKgAoIUln0bZbNrx6K8A85pfQsre2qMG =ED7L -----END PGP SIGNATURE----- --qDbXVdCdHGoSgWSk--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110130003201.GA99514>