On Fri, Jun 6, 2008 at 9:05 PM, Stephen Glow <[email protected]> wrote: > You're welcome. Glad it helped. > > Incidentally, I just tried again with the latest Ubuntu 8.04 update (kernel > 2.6.24-18-generic), and it looks like the driver shipped with the kernel > still doesn't work. Hopefully this will be fixed in a future update. > > The driver that I pulled from the vanilla kernel at kernel.org (and put in > the zip file on my site) still works fine. > > Yes, I think this will need to be rebuilt every time the kernel changes. > > Rgds, > Steve > > jim bingham wrote: > > Stephen, > > Thanks, this was very helpful. A few comments may help others... at > least what I was seeing on my machine ( Dell Vostro 1500/dual core). > > when running > /sys/bus/usb/devices/something/bConfigurationValue > > as described below, I kept getting write errors (I believe it was an > invalid parameter). I still got this when preceded with sudo and after > changing permissions. > > I finally directly edited it. When I tried to write it, I got an > invalid function parameter. These symptoms were indicative of a bad > kernel module. I was using 2.6.24-17 and 2.6.24-18, both of which had > recently been updated by the package manager and both had bad modules. > Your nicely set up zip file worked pretty much flawlessly. > > The next thing was to update the fet tools firmware. It kept stopping > and resetting interrupts early. I added the debug option and it worked > after a couple tries. This bothers me somewhat. I'm a little concerned > that there may be a speed issue. BTW, running it as root (sudo) crashes > faster. But finally updated. > > Again.... Stephen, nicely set up package. Easy to use. I expect that > I'll need to install the module update with each kernel update that > ubuntu downloads. > > jim > > On Thu, 2008-06-05 at 07:20 -0400, Stephen Glow wrote: > > > Hi Jim; > > I tackled getting this working in Ubuntu 8.04 a couple weeks ago. I > found at that time that the driver that ships with the Ubuntu kernel has > a problem with the TI FET device. At that time I put together a small > .zip file with a working driver (taken from the vanilla kernel on > kernel.org) which does work. I posted it to my web site here: > www.embeddedintelligence.com/mspfet_driver.zip > > Since that time I've seen a message posted to this list indicating that > a kernel update on Ubuntu may have already fixed this problem. I > haven't played with the device since then, so I can't personally confirm > this. > > Even if the driver that came with your kernel does work, you will still > need a udev rule to select the proper configuration. Until this happens > you won't get the needed /dev/ttyUSB0 device file. As a test, you can > manually perform the same action that this rule does to see if the > driver that you are currently using supports the device. > > First, unplug the device and plug it back in. Then, use the dmesg > command to find the location of the device's directory that was created > under the /sys file system. What you are looking for is a file called > 'bConfigurationValue' under the directory of the proper device in the > /sys directory tree. I don't have my emulator handy to check this, but > I think it should be something like: > /sys/bus/usb/devices/something/bConfigurationValue > > Once you find this file, enter the following command (using the correct > file name of course): > > sudo echo 2 > /sys/bus/usb/devices/something/bConfigurationValue > > If the driver you have loaded supports this device, then the > /dev/ttyUSB0 file will be magically created when you enter this. > > A udev rule which handles this detail is included in the .zip I > referenced above. Even if you don't need the driver included in the > .zip, you may find this handy. > > Rgds, > Steve > > jim bingham wrote: > > > OK, I know this must have been covered a billion times so far. How does > one get this working with linux. I'm running Ubuntu 8.04. I recognize > that the TI FET is plugged in, but do not get it assigned > to /dev/ttyUSB0... or the like. > > Is there a simple set of tests to validate that one has this set up > correctly? > > jim >
Hi Stephen, I had an experience similar to jim's when trying to access the application UART on my eZ430-RF2500T on a system running Ubuntu 9.04. However, unlike jim, I didn't have the same experience when I tried to make your mspfet_driver. Admittedly I'm kind of a newb when it comes to compiling software under Linux. I did weed out a previous problem when I unzipped your driver into a directory with a space in its name - a bad habit acquired from using Windows! But now I get a bunch of errors and warnings when I try running make from the now renamed directory. I've attached a file with the console output. The funky "ae" characters (kind of) around some phrases show up as a kind of reverse single quote in my console window. I realize you're under no obligation to support the driver info you kindly shared with us, but I wonder if something obvious jumps out at you. Thanks, --John
jporu...@iota-ubuntu:~/Install_Temp/mspfet_driver$ make make -C /lib/modules/2.6.28-16-generic/build M=/home/jporubek/Install_Temp/mspfet_driver modules make[1]: Entering directory `/usr/src/linux-headers-2.6.28-16-generic' CC [M] /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.o /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:84:27: error: asm/semaphore.h: No such file or directory /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:267: error: unknown field ‘num_interrupt_in’ specified in initializer /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:267: error: ‘NUM_DONT_CARE’ undeclared here (not in a function) /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:268: error: unknown field ‘num_bulk_in’ specified in initializer /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:269: error: unknown field ‘num_bulk_out’ specified in initializer /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:269: warning: missing braces around initializer /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:269: warning: (near initialization for ‘ti_1port_device.driver’) /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:269: warning: initialization makes pointer from integer without a cast /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:273: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:274: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:275: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:276: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:277: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:278: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:279: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:280: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:281: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:282: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:283: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:284: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:298: error: unknown field ‘num_interrupt_in’ specified in initializer /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:299: error: unknown field ‘num_bulk_in’ specified in initializer /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:299: warning: missing braces around initializer /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:299: warning: (near initialization for ‘ti_2port_device.driver_list’) /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:299: warning: initialization makes pointer from integer without a cast /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:300: error: unknown field ‘num_bulk_out’ specified in initializer /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:300: warning: initialization makes pointer from integer without a cast /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:304: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:305: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:306: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:307: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:308: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:309: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:310: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:311: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:312: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:313: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:314: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:315: warning: initialization from incompatible pointer type /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c: In function ‘ti_open’: /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:553: error: ‘struct usb_serial_port’ has no member named ‘tty’ /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:554: error: ‘struct usb_serial_port’ has no member named ‘tty’ /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c: In function ‘ti_throttle’: /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:793: error: ‘struct usb_serial_port’ has no member named ‘tty’ /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c: In function ‘ti_unthrottle’: /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:816: error: ‘struct usb_serial_port’ has no member named ‘tty’ /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c: In function ‘ti_set_termios’: /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:889: error: ‘struct usb_serial_port’ has no member named ‘tty’ /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c: In function ‘ti_bulk_in_callback’: /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:1222: error: ‘struct usb_serial_port’ has no member named ‘tty’ /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:1229: error: ‘struct usb_serial_port’ has no member named ‘tty’ /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c: In function ‘ti_send’: /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:1311: error: ‘struct usb_serial_port’ has no member named ‘tty’ /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c: In function ‘ti_set_serial_info’: /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:1448: error: ‘struct usb_serial_port’ has no member named ‘tty’ /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:1449: error: ‘struct usb_serial_port’ has no member named ‘tty’ /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c: In function ‘ti_handle_new_msr’: /home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.c:1483: error: ‘struct usb_serial_port’ has no member named ‘tty’ make[2]: *** [/home/jporubek/Install_Temp/mspfet_driver/ti_usb_3410_5052.o] Error 1 make[1]: *** [_module_/home/jporubek/Install_Temp/mspfet_driver] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-16-generic' make: *** [default] Error 2 jporu...@iota-ubuntu:~/Install_Temp/mspfet_driver$
