Description of problem: Plug in TI USB FET tool for MSP430s. It doesn't work (a serial device isn't created) unless the following udev rule is in place: SUBSYSTEM=="usb" ACTION=="add" ATTR{product}=="MSP-FET430UIF JTAG Tool" \ ATTR{bNumConfigurations}=="2" \ ATTR{bConfigurationValue}=="1" \ RUN+="/bin/sh -c 'echo 2 > /sys%p/bConfigurationValue'" Version-Release number of selected component (if applicable): udev-116-3.fc8 Expected results: A USB serial device should be created.
For some reason I now have to take one of the lines in the udev rule out: SUBSYSTEM=="usb" ACTION=="add" ATTR{product}=="MSP-FET430UIF JTAG Tool" \ ATTR{bNumConfigurations}=="2" \ RUN+="/bin/sh -c 'echo 2 > /sys%p/bConfigurationValue'"
reassigning to component kernel. Is this something, we can fix in a kernel module?
Hello, I'm reviewing this bug as part of the kernel bug triage project, an attempt to isolate current bugs in the Fedora kernel. http://fedoraproject.org/wiki/KernelBugTriage I am CC'ing myself to this bug and will try and assist you in resolving it if I can. There hasn't been much activity on this bug for a while. Could you tell me if you are still having problems with the latest kernel? If the problem no longer exists then please close this bug or I'll do so in a few days if there is no additional information lodged.
Yes I still have this problem, it still doesn't work without the udev rule.
Okay, thanks for the update Robert. I'm assigning and copying Kay in who is listed as a QA contact on the triage page. Hopefully this will get the issue resolved quicker for you.
This sounds like a sysfs attribute + event timing problem in the usb code in the kernel. We get some more reports recently that seems to indicate that. Just to identify what's going wrong, if you put this line: SUBSYSTEM=="usb", ACTION=="add", PROGRAM="/bin/sleep 1" right before your rule, does it make the match work? If yes, we should try to fix this in the kernel. Note: always separate all udev rules keys by ',' and ATTR{bConfigurationValue}="2" should write to a sysfs file without the need for a shell
> Just to identify what's going wrong, if you put this line: > SUBSYSTEM=="usb", ACTION=="add", PROGRAM="/bin/sleep 1" > right before your rule, does it make the match work? I'm not sure what you mean by "make the match work". I interpret that as "make the udev rule match the device", which it already does. The point here is that one has to add the udev rule to get the device to work in Fedora. If I do add the sleep 1 in the rules file, then it works just the same as the old rule, but the serial device appears one second later than before. Thanks for the info about setting bConfigurationValue in a nicer way. The rule that I'm using now is: SUBSYSTEM=="usb" ACTION=="add" ATTR{product}=="MSP-FET430UIF JTAG Tool" \ ATTR{bNumConfigurations}=="2" ATTR{bConfigurationValue}="2"
I thought you were complaining about that you have to remove the 3rd line with "bConfigurationValue", like you mention in comment#1. That you need to select an alternative configuration for the device, is nothing udev or userspace could work around. It's just device specific and defined by the device-vendor. What kind of help do you expect from me? Oh, and add a ',' between all keys, like: SUBSYSTEM=="usb", ACTION=="add", ...
This bug is about the fact that with Fedora, plugging in the TI USB FET tool doesn't work without adding a udev rule. I think that the udev rule should be distributed with Fedora (or maybe there's another solution that I'm not aware of). Rob
any tools/rpm packages related to this device?
The device contains one of those TI USB->serial chips, so it just appears as a serial device. One uses msp430-gdbproxy with it, which allows debugging of an msp430 microcontroller through msp430-gdb (from mspgcc.sf.net). Fedora doesn't currently provide mspgcc, but I am hoping to one day change that...
So what about shipping this rule file with the corresponding tools? Is the serial device of any use without msp430-gdb?
No, the serial device isn't really of any use without msp430-gdb. So shipping it with msp430-gdb sounds like the best option.