TI E2E Community
MSP430 Ultra-Low Power 16-bit Microcontroller Forum
USB CDCv1.19 (SLAC285A) and Mac OS X
I am trying to use USBCDC_Example3 on Mac OS X
and firmware works fine. However I have to use IOKit interface
on host side to communicate MSP430, and I do not like it.
I would like to use standard unix programing through device
Is there any way that Mac OS X recognize this firmware as usbmodem
and automatically create /dev/cu.usbmodem001.
(USB dongle comes with eZ430-Chronos can be recognized in this way.)
How about linux? Does linux recognize this firmware as usbmodem?
I am using F5529 Rev. A on MSP-TSP430PN80USB.
I've been using Java's RXTX library with /dev/tty.usbmodem001 with no trouble to interface with the wireless USB dongle.
Thank for the comment, Eric.
Yes. I do not have any problem with CC1111 USB dongle and I would like to communicate
with MSP430F5529 in the same manner .
When I plug MSP430F5529 into Mac, kernel gives following message.
3/21/10 9:50:38 PM kernel 0 0 AppleUSBCDCACMControl: start - Failed to find the CDC driver
I guess Mac OS X is actually trying to recognize but for some reason it fails.
I know basically nothing about McOS but at least with WinXP to run USB CDC, you need to INSTALL an .inf file.
Is the same true on MacOS?
Much good startup info (app notes, code, USB stacks, etc) is buried in the .zip files:
from the F5529 page:
Joe, thanks for the comment.
It turned out the device descriptor that sla285a uses does not meet USB CDC specification version 1.1.
USB descriptor of SLAC285A defines only one interface which is Communication Class interface,
however 3.6.2 of http://www.usb.org/developers/devclass_docs/usbcdc11.pdf says,
> With an Abstract Control Model, the USB device understands standard V.25ter (AT) commands.
> The device contains a Datapump and micro-controller that handles the AT commands and relay controls.
> The device uses both a Data Class interface and a Communication Class interface.
I think we need a Data Class interface.
I did a quick hack to USB_Common/descriptor.c to include Data Class interface and
now Mac OS X recognizes F5529 as a USB modem, although this hack also does not
meet USB specification because I had to remove Call Management Functional Descriptor
and Abstract Control Model Functional Descriptor (due to the limitation of SLAC285A, I think)
I also want to use the MSP430 F5528 with a MAC. Does that mean no drivers are required when we use a Mac ? Also it would be great if you can point out what what made it work. My end goal is to get data into lab view / Matlab
Yes, you can use USB CDC device with MacOSX's standard device driver.
All I did is change device descriptor table of F5529 example, so that MacOSX can
recognize the device as USB CDC device. Although this change somewhat works
fine for me, but breaks the CDC spec. So you do not want to use this change as is.
I haven't touched MSP430 since March and I think TI already released new version
of the example, so please check the latest version whether it works or not.
hopefully the new version had fixed this problem already.
Anyway I have put what I have at
ex1.ihex is LED ON and LED OFF example, ex3.ihex is echo back example.
When you could successfully write one of these program into F5529 board
(TS430PN80USB), /dev/usbmodemXXX would show up.
You can interact with F5529 through this device node with usual UNIX manner.
mon.c is an example for host side (MacOSX) program to do so.
> Although this change somewhat works fine for me, but breaks the CDC spec.Your mods on the configuration descriptor set is fine. It follows the CDC spec correctly.The TI CDC example (slac285a) applies just single interface for CDC. Rather, this configuration is out of CDC spec. It's the reason why the standard device driver on MacOSX doesn't recognize the device as CDC. Windows and Linux allow this out-of-spec configuration, but MacOSX follows the CDC spec strictly.I wonder why TI have distributed such an out-of-spec example like a hobbyist. It doesn't fit to a decent manufacturer. TI should revise it immediately.Tsuneo
I am not primarily a MAC user and want to build a file in Windows platform and want to be able to migrate to any platform whether a mac or a PC. I am building my files using IAR bench in windows and taking my code to MAC when I connect I get the window asking me to configure the modem. But when I try to use the mon application through the terminal it does not work. Any suggestions are things you thing I may be doing wrong ?
> when I connect I get the window asking me to configure the modem.Did you see "A new network interface has been detected" dialog on the Mac?And then, did you push "cancel" button on the dialog?If you would push "Network Preferences..." button on the dialog, OS grabs the device.If you don't want to see this dialog any more for your device, follow to this Tech note.Technical Q&A QA1667"Suppressing the Network Configuration Dialog"http://developer.apple.com/library/mac/#qa/qa2009/qa1667.htmlTsuneo
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.