How do you get an ez430 going under Linux?

View: New views
20 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 | Next >

How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Is there any documentation on using an ez430 under Linux?

When I plug in my ez430, I don't get a corresponding
/dev/ttyUSB device. Google found this page, which describes the
symptoms exactly:

http://people.ee.ethz.ch/~npreyss/msp430/

The solution it describes is this:

   Notice: Your output may vary regarding different usb device
   names. The problem results from a wrong USB device
   configuration selected. You can manually fix this by:

   # echo "2" > /sys/bus/usb/devices/2-1.1/bConfigurationValue

Except I don't have a "bConfigurationValue" file:

  # tail -n4 /var/log/messages
  Sep 24 12:26:28 grante usb 5-1: new full speed USB device using uhci_hcd and address 6
  Sep 24 12:26:28 grante usb 5-1: configuration #1 chosen from 2 choices
  Sep 24 12:26:28 grante ti_usb_3410_5052 5-1:1.0: TI USB 3410 1 port adapter converter detected
  Sep 24 12:26:28 grante ti_usb_3410_5052: probe of 5-1:1.0 failed with error -5

  # ls  /sys/bus/usb/devices/5-1:1.0    
  bAlternateSetting  bInterfaceProtocol  bus       power      usb_endpoint:usbdev5.6_ep01
  bInterfaceClass    bInterfaceSubClass  ep_01     subsystem
  bInterfaceNumber   bNumEndpoints       modalias  uevent

I'm using the "stock" driver from the Gentoo 2.6.22-r5 kernel.

--
Grant Edwards                   grante             Yow! I've read SEVEN
                                  at               MILLION books!!
                               visi.com            


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Steve Underwood :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

If you have a recent kernel, the USB FET tools should just work.
However, some distros don't have hotplug set up properly. You may need
something like a file called /etc/hotplug/usb/ti_usb_3410_5052 containing

#!/bin/bash
BOOT_CONFIG=1
ACTIVE_CONFIG=2

if [[ "$ACTION" != "add" ]]
then
     exit
fi

CONFIG_PATH=/sys${DEVPATH%/?*}/bConfigurationValue

if [[ 0`cat $CONFIG_PATH` -ne $BOOT_CONFIG ]]
then
     exit
fi

PRODUCT=${PRODUCT%/?*}               # delete version
VENDOR_ID=`printf "%d" 0x${PRODUCT%/?*}`
PRODUCT_ID=`printf "%d" 0x${PRODUCT#*?/}`

PARAM_PATH=/sys/module/ti_usb_3410_5052/parameters

function scan() {
     s=$1
     shift
     for i
     do
             if [[ $s -eq $i ]]
             then
                     return 0
             fi
     done
     return 1
}

IFS=$IFS,

if (scan $VENDOR_ID 1105 `cat $PARAM_PATH/vendor_3410` && scan
$PRODUCT_ID 13328 62512 `cat $PARAM_PATH/product_3410`) ||
   (scan $VENDOR_ID 1105 `cat $PARAM_PATH/vendor_5052` && scan
$PRODUCT_ID 20562 20818 20570 20575 `cat $PARAM_PATH/product_5052`)
then
     echo $ACTIVE_CONFIG > $CONFIG_PATH
fi


Steve


Grant Edwards wrote:

> Is there any documentation on using an ez430 under Linux?
>
> When I plug in my ez430, I don't get a corresponding
> /dev/ttyUSB device. Google found this page, which describes the
> symptoms exactly:
>
> http://people.ee.ethz.ch/~npreyss/msp430/
>
> The solution it describes is this:
>
>    Notice: Your output may vary regarding different usb device
>    names. The problem results from a wrong USB device
>    configuration selected. You can manually fix this by:
>
>    # echo "2" > /sys/bus/usb/devices/2-1.1/bConfigurationValue
>
> Except I don't have a "bConfigurationValue" file:
>
>   # tail -n4 /var/log/messages
>   Sep 24 12:26:28 grante usb 5-1: new full speed USB device using uhci_hcd and address 6
>   Sep 24 12:26:28 grante usb 5-1: configuration #1 chosen from 2 choices
>   Sep 24 12:26:28 grante ti_usb_3410_5052 5-1:1.0: TI USB 3410 1 port adapter converter detected
>   Sep 24 12:26:28 grante ti_usb_3410_5052: probe of 5-1:1.0 failed with error -5
>
>   # ls  /sys/bus/usb/devices/5-1:1.0    
>   bAlternateSetting  bInterfaceProtocol  bus       power      usb_endpoint:usbdev5.6_ep01
>   bInterfaceClass    bInterfaceSubClass  ep_01     subsystem
>   bInterfaceNumber   bNumEndpoints       modalias  uevent
>
> I'm using the "stock" driver from the Gentoo 2.6.22-r5 kernel.
>
>  


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2007-09-24, Steve Underwood <steveu@...> wrote:

> If you have a recent kernel, the USB FET tools should just work.
> However, some distros don't have hotplug set up properly. You may need
> something like a file called /etc/hotplug/usb/ti_usb_3410_5052 containing

Thanks for the pointer.  Indeed, I don't have any ti stuff
under /etc/hotplug.  Actually I don't even have a
/etc/hotplug/usb directory at all...

--
Grant Edwards                   grante             Yow! I feel ... JUGULAR ...
                                  at              
                               visi.com            


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2007-09-24, Steve Underwood <steveu@...> wrote:
> Hi,
>
> If you have a recent kernel, the USB FET tools should just work.
> However, some distros don't have hotplug set up properly. You may need
> something like a file called /etc/hotplug/usb/ti_usb_3410_5052 containing

Hmm.  That didn't help.  The script never gets called.

--
Grant Edwards                   grante             Yow! ONE LIFE TO LIVE for
                                  at               ALL MY CHILDREN in ANOTHER
                               visi.com            WORLD all THE DAYS OF
                                                   OUR LIVES.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2007-09-24, Grant Edwards <grante@...> wrote:

>> If you have a recent kernel, the USB FET tools should just
>> work.  However, some distros don't have hotplug set up
>> properly. You may need something like a file called
>> /etc/hotplug/usb/ti_usb_3410_5052 containing
>
> Hmm.  That didn't help.  The script never gets called.

[I've given up temporarily on getting hotplug working.]

If I set the configuration manually like this:

  echo 2 >/sys/devices/pci0000:00/0000:00:10.3/usb5/5-1/bConfigurationValue

(which AFAICT is all the hotplug script does)

Then I see this:

  Sep 24 14:32:09 grante ti_usb_3410_5052 5-1:2.0: TI USB 3410 1 port adapter converter detected
  Sep 24 14:32:09 grante usb 5-1: TI USB 3410 1 port adapter converter now attached to ttyUSB1

But msp430-gdbproxy still isn't happy:

  ./msp430-gdbproxy msp430 --spy-bi-wire /dev/ttyUSB1
 
  Remote proxy for GDB, v0.7.1, Copyright (C) 1999 Quality Quorum Inc.
  MSP430 adaption Copyright (C) 2002 Chris Liechti and Steve Underwood
 
  GDBproxy comes with ABSOLUTELY NO WARRANTY; for details
  use --warranty' option. This is Open Source software. You are
  welcome to redistribute it under certain conditions. Use the
  '--copying' option for details.
 
  debug: MSP430_Initialize()
  ioctl: Invalid argument
  error:     msp430: Could not initialize device interface (1)
  debug: MSP430_Initialize()
  ioctl: Invalid argument
  error:     msp430: Could not initialize device interface (1)
 
Does any of this look familiar to anybody?

--
Grant Edwards                   grante             Yow! How do I get HOME?
                                  at              
                               visi.com            


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2007-09-24, Grant Edwards <grante@...> wrote:

> If I set the configuration manually like this:
>
>   echo 2 >/sys/devices/pci0000:00/0000:00:10.3/usb5/5-1/bConfigurationValue
>
> (which AFAICT is all the hotplug script does)
>
> Then I see this:
>
>   Sep 24 14:32:09 grante ti_usb_3410_5052 5-1:2.0: TI USB 3410 1 port adapter converter detected
>   Sep 24 14:32:09 grante usb 5-1: TI USB 3410 1 port adapter converter now attached to ttyUSB1
>
> But msp430-gdbproxy still isn't happy:
>
>   ./msp430-gdbproxy msp430 --spy-bi-wire /dev/ttyUSB1

Doh.  One of the libraries (HIL or MSP430) was too old.  After
grabbing the newest versions of both, it's working.  Now to
figure out why hotplug isn't working.

Too bad the driver can't be fixed to avoid the need for the
hotplug script.

--
Grant Edwards                   grante             Yow! PUNK ROCK!!  DISCO
                                  at               DUCK!!  BIRTH CONTROL!!
                               visi.com            


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2007-09-24, Steve Underwood <steveu@...> wrote:

> If you have a recent kernel, the USB FET tools should just work.
> However, some distros don't have hotplug set up properly. You may need
> something like a file called /etc/hotplug/usb/ti_usb_3410_5052 containing

NB, that shellscript is broken.  The large conditional for the
if at the end isn't right. It needs to be changed to this:

 if (scan $VENDOR_ID 1105 `cat $PARAM_PATH/vendor_3410` && scan  $PRODUCT_ID 13328 62512 `cat $PARAM_PATH/product_3410`) ||
    (scan $VENDOR_ID 1105 `cat $PARAM_PATH/vendor_5052` && scan  $PRODUCT_ID 20562 20818 20570 20575 `cat $PARAM_PATH/product_5052`)

Also, CONFIG_PATH is being set to be the path to the hub to
which the ez430 is connected.  It needs to be the path of the
ez430, not the hub to which it's attached.

For example, the script is trying to write "2" to

 /sys/devices/pci0000:00/0000:00:10.0/usb2/bConfigurationValue

 (writing a "2" to that path from the shell prompt produces an error)

when it should be writing to

 /sys/devices/pci0000:00/0000:00:10.0/usb2/2-1/bConfigurationValue

 (writing a "2" to that path from the shell prompt makes it work)

 

> #!/bin/bash
> BOOT_CONFIG=1
> ACTIVE_CONFIG=2
>
> if [[ "$ACTION" != "add" ]]
> then
>      exit
> fi
>
> CONFIG_PATH=/sys${DEVPATH%/?*}/bConfigurationValue
>
> if [[ 0`cat $CONFIG_PATH` -ne $BOOT_CONFIG ]]
> then
>      exit
> fi
>
> PRODUCT=${PRODUCT%/?*}               # delete version
> VENDOR_ID=`printf "%d" 0x${PRODUCT%/?*}`
> PRODUCT_ID=`printf "%d" 0x${PRODUCT#*?/}`
>
> PARAM_PATH=/sys/module/ti_usb_3410_5052/parameters
>
> function scan() {
>      s=$1
>      shift
>      for i
>      do
>              if [[ $s -eq $i ]]
>              then
>                      return 0
>              fi
>      done
>      return 1
> }
>
> IFS=$IFS,
>
> if (scan $VENDOR_ID 1105 `cat $PARAM_PATH/vendor_3410` && scan
> $PRODUCT_ID 13328 62512 `cat $PARAM_PATH/product_3410`) ||
>    (scan $VENDOR_ID 1105 `cat $PARAM_PATH/vendor_5052` && scan
> $PRODUCT_ID 20562 20818 20570 20575 `cat $PARAM_PATH/product_5052`)
> then
>      echo $ACTIVE_CONFIG > $CONFIG_PATH
> fi

--
Grant Edwards                   grante             Yow! As President I have
                                  at               to go vacuum my coin
                               visi.com            collection!


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2007-09-24, Grant Edwards <grante@...> wrote:

> On 2007-09-24, Steve Underwood <steveu@...> wrote:
>
>> If you have a recent kernel, the USB FET tools should just work.
>> However, some distros don't have hotplug set up properly. You may need
>> something like a file called /etc/hotplug/usb/ti_usb_3410_5052 containing
>
> NB, that shellscript is broken.  The large conditional for the
> if at the end isn't right. It needs to be changed to this:
>
>  if (scan $VENDOR_ID 1105 `cat $PARAM_PATH/vendor_3410` && scan  $PRODUCT_ID 13328 62512 `cat $PARAM_PATH/product_3410`) ||
>     (scan $VENDOR_ID 1105 `cat $PARAM_PATH/vendor_5052` && scan  $PRODUCT_ID 20562 20818 20570 20575 `cat $PARAM_PATH/product_5052`)
>
> Also, CONFIG_PATH is being set to be the path to the hub to
> which the ez430 is connected.  It needs to be the path of the
> ez430, not the hub to which it's attached.

And when you change it to point to the ez430, the line that
does the "echo $ACTIVE_CONFIG" makes the driver hang hard
(requires a reboot to get it working again).

On the Gentoo lists, I'm told that hotplug has been depricated
for years in favor of udev.  As a result, Gentoo doesn't
normally even have hotplug enabled (and hasn't for a couple
years now).

Maybe I should just fix the driver...

--
Grant Edwards                   grante             Yow! I'm pretending I'm
                                  at               pulling in a TROUT!  Am I
                               visi.com            doing it correctly??


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Xiaofan Chen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 9/25/07, Grant Edwards <grante@...> wrote:
> On the Gentoo lists, I'm told that hotplug has been depricated
> for years in favor of udev.  As a result, Gentoo doesn't
> normally even have hotplug enabled (and hasn't for a couple
> years now).
>

I do not have the ez430 but I know the best Get Start Document
for setting up udev rules is this one from Linus Walleij (libnjb developer).

He allows people to freely distribute the following document:
http://piklab.sf.net/files/libusb_udev_hotplug.txt

Examples:
http://piklab.sourceforge.net/wiki/index.php/USB_port_problems

Regards,
Xiaofan
http://mcuee.blogspot.com

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2007-09-24, Xiaofan Chen <xiaofanc@...> wrote:
> On 9/25/07, Grant Edwards <grante@...> wrote:
>> On the Gentoo lists, I'm told that hotplug has been depricated
>> for years in favor of udev.  As a result, Gentoo doesn't
>> normally even have hotplug enabled (and hasn't for a couple
>> years now).
>>
>
> I do not have the ez430 but I know the best Get Start Document
> for setting up udev rules

I know how to set up udev rules.  I assumed that when people
said to use a hotplug script that they were right.

I've also tried this patch:

  http://www.mail-archive.com/linux-usb-devel@.../msg51855.html

That makes the ez430 show up as a USB serial device, but then
this error happens:

  usb-serial ttyUSB0: Error registering port device, continuing

and when I unplug the ez430, I get a kernel oops.

Back to the vanilla kernel and a udev rule, I guess.  Or I can
just manually write the "2"...

--
Grant Edwards                   grante             Yow! World War III?
                                  at               No thanks!
                               visi.com            


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2007-09-24, Grant Edwards <grante@...> wrote:

> I know how to set up udev rules.  I assumed that when people
> said to use a hotplug script that they were right.  

It turns out, I should have followed this web page:

http://people.ee.ethz.ch/~npreyss/msp430/

The udev approach is a lot easier than using hotplug
(especially if hotplug doesn't work on your machine).

Here are two udev rules.  The first (copied from the above web
page) checks the confguration value, and if it's 1 it changes
it to 2.

SUBSYSTEM=="usb_device", ACTION=="add",SYSFS{idVendor}=="0451", SYSFS{idProduct}=="f430",SYSFS{bNumConfigurations}=="2",SYSFS{bConfigurationValue}=="1", RUN+="/bin/sh -c 'echo 2 >/sys%p/device/bConfigurationValue'"

The second creates a symlink so that you can use /dev/ez430
instead of /dev/ttyUSBn. [Since n varies depending on what
other USB serial widgets are present, it's nice to have an
unchanging reference.]

Unfortunately, there's a bug in msp430-gdbproxy.  It chokes on
the symlink:


  $ ls -l /dev/ez430
  lrwxrwxrwx 1 root root 7 2007-09-24 19:07 /dev/ez430 -> ttyUSB1

  $ msp430-gdbproxy msp430 --spy-bi-wire /dev/ttyUSB1
 
  Remote proxy for GDB, v0.7.1, Copyright (C) 1999 Quality Quorum Inc.
  MSP430 adaption Copyright (C) 2002 Chris Liechti and Steve Underwood
 
  GDBproxy comes with ABSOLUTELY NO WARRANTY; for details
  use `--warranty' option. This is Open Source software. You are
  welcome to redistribute it under certain conditions. Use the
  '--copying' option for details.
 
  debug: MSP430_Initialize()
  debug: MSP430_Configure()
  debug: MSP430_VCC(3000)
  debug: MSP430_Identify()
  info:      msp430: Target device is a 'MSP430F20x3' (type 52)
  debug: MSP430_Configure()
  notice:    msp430-gdbproxy: waiting on TCP port 2000

 
  $ msp430-gdbproxy msp430 --spy-bi-wire /dev/ez430
 
  Remote proxy for GDB, v0.7.1, Copyright (C) 1999 Quality Quorum Inc.
  MSP430 adaption Copyright (C) 2002 Chris Liechti and Steve Underwood
 
  GDBproxy comes with ABSOLUTELY NO WARRANTY; for details
  use `--warranty' option. This is Open Source software. You are
  welcome to redistribute it under certain conditions. Use the
  '--copying' option for details.
 
  debug: MSP430_Initialize()
  ioctl: Invalid argument
  error:     msp430: Could not initialize device interface (1)
 

The problem is that msp430-gdbproxy is doing a PPCLAIM ioctl()
call on a serial port.  Apparently msp430-gdbproxy requires
that serial ports have names that match some sort of pattern.

I'll have to see if I can find a work-around for that...

--
Grant Edwards                   grante             Yow! ... this must be what
                                  at               it's like to be a COLLEGE
                               visi.com            GRADUATE!!


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2007-09-25, Grant Edwards <grante@...> wrote:

> The second creates a symlink so that you can use /dev/ez430
> instead of /dev/ttyUSBn. [Since n varies depending on what
> other USB serial widgets are present, it's nice to have an
> unchanging reference.]

[...]

> The problem is that msp430-gdbproxy is doing a PPCLAIM ioctl()
> call on a serial port.  Apparently msp430-gdbproxy requires
> that serial ports have names that match some sort of pattern.
>
> I'll have to see if I can find a work-around for that...

Changing the symlink so that it starts with "tty" seems to
work.  I think it's a bit uglier than just 'dev/ez430', but it
works:

KERNEL=="ttyUSB*", SYSFS{idProduct}=="f430",SYSFS{idVendor}=="0451", SYSFS{bConfigurationValue}=="2", SYMLINK="ttyUSBez430"

--
Grant Edwards                   grante             Yow! Do I have a lifestyle
                                  at               yet?
                               visi.com            


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Oleg Verych-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

24-09-2007, Grant Edwards:
> I know how to set up udev rules.  I assumed that when people
> said to use a hotplug script that they were right.

Fsck, udev, fsck usb stack in linux.

> I've also tried this patch:
>
>   http://www.mail-archive.com/linux-usb-devel@.../msg51855.html

This is a follow up of the original ti_usb author. I did all patches
needed to get rid of both udev crap and firmware(for debian etch, now
lenny have not this driver at all!).

But in 2.6.21-rcX series it turned out, that my patch spotted a bug in
usb sub-system, that led to incorrect working of in-kernel device
configuration change. I've proposed help to upstream, but since then
(~March) i didn't get any response from either of parties.

I also CCed patches here, hoping that there will be some testing and feed
back, but... So, if TI EZ430 USB tool is used by more people, i can start
effort again.
--
-o--=O`C
 #oo'L O
<___=E M


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by DavidP :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


> I also CCed patches here, hoping that there will be some testing and feed
> back, but... So, if TI EZ430 USB tool is used by more people, i can start
> effort again.

I think your efforts would be appreciated.  I now have three neatly stacked
in my desk drawer at work (vendor reps love to give gifts).  If I can use
them with Linux, I will take them home with me.  



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2007-09-25, David Pettit <davidp@...> wrote:
>
>> I also CCed patches here, hoping that there will be some testing and feed
>> back, but... So, if TI EZ430 USB tool is used by more people, i can start
>> effort again.
>
> I think your efforts would be appreciated.  I now have three neatly stacked
> in my desk drawer at work (vendor reps love to give gifts).  If I can use
> them with Linux, I will take them home with me.  

The stock driver in the 2.6.22 kernel works fine along with the
udev rule that sets the configurationValue to 2.

Now if somebody would fix msp430-gdbproxy so that it doesn't
spew debug: messages continuously, we'd be set. ;)

--
Grant Edwards                   grante             Yow!  Where's SANDY DUNCAN?
                                  at              
                               visi.com            


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by DavidP :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> The second creates a symlink so that you can use /dev/ez430
> instead of /dev/ttyUSBn. [Since n varies depending on what
> other USB serial widgets are present, it's nice to have an
> unchanging reference.]
>
> Unfortunately, there's a bug in msp430-gdbproxy.  It chokes on
> the symlink:

You seem to have skipped a thought here.  What is the second rule???  I
didn't find any mention of a symlink in the webpage you referenced.  

On my machine (Debian Etch), the command

prompt> echo "2" > /sys/bus/usb/devices/5-2/bConfigurationValue

works, however the rule from the webpage doesn't appear to work.  I still
get the "probe of ... failed with error -5" error message.  


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Grant Edwards :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 2007-09-26, David Pettit <davidp@...> wrote:
>> The second creates a symlink so that you can use /dev/ez430
>> instead of /dev/ttyUSBn. [Since n varies depending on what
>> other USB serial widgets are present, it's nice to have an
>> unchanging reference.]
>>
>> Unfortunately, there's a bug in msp430-gdbproxy.  It chokes on
>> the symlink:
>
> You seem to have skipped a thought here.  What is the second rule???

Rats.  I forgot to include the rule in the posting (it wasn't
on the referenced web page):

KERNEL=="ttyUSB*", SYSFS{idProduct}=="f430",SYSFS{idVendor}=="0451", SYSFS{bConfigurationValue}=="2", SYMLINK="ttyUSBez430"

NB: I've never been able to get NAME="whatever" to work in udev
rules, despite folling examples to the letter. However,
SYMLINK="whatever" always seems to work.

> I didn't find any mention of a symlink in the webpage you
> referenced.  

My bad. Sorry about that.

> On my machine (Debian Etch), the command
>
> prompt> echo "2" > /sys/bus/usb/devices/5-2/bConfigurationValue
>
> works, however the rule from the webpage doesn't appear to work.  I still
> get the "probe of ... failed with error -5" error message.

Here's what's in my local rules file:

KERNEL=="ttyUSB*", SYSFS{interface}=="BitScope 310", SYMLINK="ttyUSB99"
KERNEL=="ttyUSB*", SYSFS{serial}=="12345678", SYMLINK="ttyUSBhart"
KERNEL=="ttyUSB*", SYSFS{idProduct}=="2303", SYSFS{idVendor}=="067b" , SYMLINK="ttyUSBrs232"
SUBSYSTEM=="usb_device", ACTION=="add",SYSFS{idVendor}=="0451", SYSFS{idProduct}=="f430",SYSFS{bNumConfigurations}=="2",SYSFS{bConfigurationValue}=="1", RUN+="/bin/sh -c 'echo 2 >/sys%p/device/bConfigurationValue'"
KERNEL=="ttyUSB*", SYSFS{idProduct}=="f430",SYSFS{idVendor}=="0451", SYSFS{bConfigurationValue}=="2", SYMLINK="ttyUSBez430"

The last two are the rules for the ez430.

And here's what dmesg says when I plug in the ez430:

  usb 2-1: new full speed USB device using uhci_hcd and address 18
  usb 2-1: configuration #1 chosen from 1 choice
  ti_usb_3410_5052 2-1:1.0: TI USB 3410 1 port adapter converter detected
  usb 2-1: reset full speed USB device using uhci_hcd and address 18
  usb 2-1: device firmware changed
  ti_usb_3410_5052: probe of 2-1:1.0 failed with error -5
  usb 2-1: USB disconnect, address 18
  usb 2-1: new full speed USB device using uhci_hcd and address 19
  usb 2-1: configuration #1 chosen from 2 choices
  ti_usb_3410_5052 2-1:1.0: TI USB 3410 1 port adapter converter detected
  ti_usb_3410_5052: probe of 2-1:1.0 failed with error -5
  ti_usb_3410_5052 2-1:2.0: TI USB 3410 1 port adapter converter detected
  usb 2-1: TI USB 3410 1 port adapter converter now attached to ttyUSB1

Those message are all from a single "plug-in", so I still see
the -5 error twice before the adapter gets attached to
/dev/ttyUSB1.  I'm not sure what all of that means exactly, but
the last two lines didn't show up until I added the udev rule
that set the configuration value to 2 (or until I manually did
the same).

And then here's what I see if I do

  ls -l /dev/ttyUSB*

  crw-rw---- 1 root uucp 188, 0 2007-09-24 18:44 /dev/ttyUSB0
  crw-rw---- 1 root uucp 188, 1 2007-09-26 09:30 /dev/ttyUSB1
  lrwxrwxrwx 1 root root      7 2007-09-26 09:30 /dev/ttyUSBez430 -> ttyUSB1
  lrwxrwxrwx 1 root root      7 2007-09-24 18:44 /dev/ttyUSBhart -> ttyUSB0

I finally decided to prefix the symlinks with ttyUSB in order
to keep all of the USB serial stuff adjacent in 'ls' output.
That also has the effect of making gdbproxy happy.
 
--
Grant Edwards                   grante             Yow! Look!  A ladder!
                                  at               Maybe it leads to heaven,
                               visi.com            or a sandwich!


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Oleg Verych-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

25-09-2007, Grant Edwards:
> On 2007-09-25, David Pettit <davidp@...> wrote:
>>
>>> I also CCed patches here, hoping that there will be some testing and feed
>>> back, but... So, if TI EZ430 USB tool is used by more people, i can start
>>> effort again.
>>
>> I think your efforts would be appreciated.  I now have three neatly stacked
>> in my desk drawer at work (vendor reps love to give gifts).  If I can use
>> them with Linux, I will take them home with me.  

> The stock driver in the 2.6.22 kernel works fine along with the
> udev rule that sets the configurationValue to 2.

To use this thing was possible right after driver was written (~2.6.11)
of course. Question is "how to use".

Because they accepted just one very tiny patch to add device ID, now udev
rules are a bit smaller.

But i want to use the device easily and in Debian. I want to have easily
changeable firmware, because windows drivers have newer version of it (and
you better don't see ugliness of the sources of the vendor's firmware :).
And there are people out there, who wrote their own firmware, because usb
chip itself have many additional features.

The main problem is linux usb stack, as it is today, after 3 rewrites.
Design prohibits driver to change usb configuration of the device. This
is because usb driver in linux is not driver of the usb hardware, but
usb-interface (as in usb spec.) driver. Changing configuration of the
device, cuts trunk of the "driver", and everything falls down.

Current usb gate-keeper played dumb with me, when i was trying to discuss
this fatal design flaw. I was flamed, but whatever.

<http://article.gmane.org/gmane.linux.usb.devel/50656>

Those programmers, who don't like to be in touch with hardware don't
deserve my angriness.

The USB chips by TI are very "interesting" and have many "features".

At first view, if compare FTDI USB and TI USB, latter have much more
additional external components. I thought, this is rather complicated.
But complication from programming point of view led to all the f*cks with
linux usb stack. External firmware is abother very interesting topic in
it. Original hardware design have an serial eeprom interface to load (by
bootloader) application firmware off-chip.

*But*

Timings of loading are too big to pass usb spec on how quickly device
must set itself up. Thus, device have additional eeprom chip near it,
but it is rather useless, just to store *few* bytes of customer's IDs.

Aaarrhh. Software and softhardware sucks, didn't you know ?:)
--
-o--=O`C
 #oo'L O
<___=E M



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Oleg Verych (Gmane) :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

25-09-2007, Grant Edwards:
> On 2007-09-25, David Pettit <davidp@...> wrote:
>>
>>> I also CCed patches here, hoping that there will be some testing and feed
>>> back, but... So, if TI EZ430 USB tool is used by more people, i can start
>>> effort again.
>>
>> I think your efforts would be appreciated.  I now have three neatly stacked
>> in my desk drawer at work (vendor reps love to give gifts).  If I can use
>> them with Linux, I will take them home with me.  

> The stock driver in the 2.6.22 kernel works fine along with the
> udev rule that sets the configurationValue to 2.

To use this thing was possible right after driver was written (~2.6.11)
of course. Question is "how to use".

Because they accepted just one very tiny patch to add device ID, now udev
rules are a bit smaller.

But i want to use the device easily and in Debian. I want to have easily
changeable firmware, because windows drivers have newer version of it (and
you better don't see ugliness of the sources of the vendor's firmware :).
And there are people out there, who wrote their own firmware, because usb
chip itself have many additional features.

The main problem is linux usb stack, as it is today, after 3 rewrites.
Design prohibits driver to change usb configuration of the device. This
is because usb driver in linux is not driver of the usb hardware, but
usb-interface (as in usb spec.) driver. Changing configuration of the
device, cuts trunk of the "driver", and everything falls down.

Current usb gate-keeper played dumb with me, when i was trying to discuss
this fatal design flaw. I was flamed, but whatever.

<http://article.gmane.org/gmane.linux.usb.devel/50656>

Those programmers, who don't like to be in touch with hardware don't
deserve my angriness.

The USB chips by TI are very "interesting" and have many "features".

At first view, if compare FTDI USB and TI USB, latter have much more
additional external components. I thought, this is rather complicated.
But complication from programming point of view led to all the f*cks with
linux usb stack. External firmware is abother very interesting topic in
it. Original hardware design have an serial eeprom interface to load (by
bootloader) application firmware off-chip.

*But*

Timings of the loading are too big to pass usb spec on how quickly device
must set itself up. Thus, device have additional eeprom chip near it,
but it is rather useless, just to store *few* bytes of customer's IDs.
Patented bootstraping with ID for bootloader, switching to firmware
with new ID is "another funky thing".

Aaarrhh. Software and softhardware sucks, didn't you know ?:)
--
-o--=O`C
 #oo'L O
<___=E M


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Re: How do you get an ez430 going under Linux?

by Przemek Klosowski-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 9/26/07, Oleg Verych (Gmane) <!gmane?olecom.ENOMSG@flower.upol.cz> wrote:
The main problem is linux usb stack, as it is today, after 3 rewrites.
Design prohibits driver to change usb configuration of the device. This
is because usb driver in linux is not driver of the usb hardware, but
usb-interface (as in usb spec.) driver. Changing configuration of the
device, cuts trunk of the "driver", and everything falls down.


I don't understand the USB stack design all that well, so correct me if I misunderstand your point. You seem to be saying that after a reconfiguration, the original USB interface disappears, and so the kernel driver loses access to the hardware.

However, for USB this should not be a problem---it's the same as if we unplugged the old device and plugged a new one. The driver for the new device should load, and start talking to the hardware on the new interface. At any given steady state point, there should be a driver for each USB interface the hardware presents.  How is that bad?

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@...
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
< Prev | 1 - 2 | Next >