This is very old, but I think this is worth mentioning how I got my Oxygen8 (keystation) working. This is a time-consuming issue.
I am on lucid lynx 10.04, and I too have the issue where udev is not autoloading the firmware, but manually loading via fxload works fine.
adding -D $env{DEVNAME} did not work for me.
I was able to debug by stopping udev (sudo service udev stop), and running it manually in non-daemon & debug mode: sudo udevd --debug. I was seeing that $env{DEVNAME} was not getting populated at the time this was executed, but if I ran:
udevadm info --query=property --path /devices/pci0000:00/0000:00:1d.3/usb5
I could see devname property was getting set: DEVNAME=/dev/bus/usb/005/001
I seemed to fix it by editing the line in /etc/udev/rules.d/42-midisport-firmware.rules for the KeyStation to this:
ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{PRODUCT}=="763/1014/*", RUN+="/sbin/fxload -s /usr/local/share/usb/maudio/MidiSportLoader.ihx -I /usr/local/share/usb/maudio/MidiSportKS.ihx"
(note that I removed the DEVPATH filter and added the ENV{DEVTYPE} filter).
This did the trick for me.
This is very old, but I think this is worth mentioning how I got my Oxygen8 (keystation) working. This is a time-consuming issue.
I am on lucid lynx 10.04, and I too have the issue where udev is not autoloading the firmware, but manually loading via fxload works fine.
adding -D $env{DEVNAME} did not work for me.
I was able to debug by stopping udev (sudo service udev stop), and running it manually in non-daemon & debug mode: sudo udevd --debug. I was seeing that $env{DEVNAME} was not getting populated at the time this was executed, but if I ran: pci0000: 00/0000: 00:1d.3/ usb5 /dev/bus/ usb/005/ 001
udevadm info --query=property --path /devices/
I could see devname property was getting set: DEVNAME=
Found this post which was helpful in determining that the udev rules for midisport firmware loader was too restrictive? /bugs.launchpad .net/ubuntu/ +source/ udev/+bug/ 102631
https:/
I seemed to fix it by editing the line in /etc/udev/ rules.d/ 42-midisport- firmware. rules for the KeyStation to this: =="usb_ device" , ENV{PRODUCT} =="763/ 1014/*" , RUN+="/sbin/fxload -s /usr/local/ share/usb/ maudio/ MidiSportLoader .ihx -I /usr/local/ share/usb/ maudio/ MidiSportKS. ihx"
ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}
(note that I removed the DEVPATH filter and added the ENV{DEVTYPE} filter).
This did the trick for me.