Package 'midisport-firmware': firmware is not loaded automatically

Bug #88923 reported by Al Buntu
10
Affects Status Importance Assigned to Milestone
midisport-firmware (Ubuntu)
Confirmed
Undecided
Cristian Aravena Romero

Bug Description

Binary package hint: midisport-firmware

After installation of the package 'midisport-firmware' the firmware should be loaded automatically but it doesn't.
The firmware should also be loaded if the external usb-midi-interface was connected the the computer or during booting the computer but it doesn't work.

ProblemType: Bug
Date: Thu Mar 1 13:14:21 2007
DistroRelease: Ubuntu 7.04
Uname: Linux schlumpf 2.6.20-9-generic #2 SMP Mon Feb 26 03:01:44 UTC 2007 i686 GNU/Linux

Revision history for this message
Cristian Aravena Romero (caravena) wrote :

Thanks for taking the time to report this bug. Unfortunately we can't fix it, because your description doesn't yet have enough information.

Please include the following additional information, if you have not already done so (please pay attention to lspci's additional options), as required by the Ubuntu Kernel Team:
1. Please include the output of the command "uname -a" in your next response. It should be one, long line of text which includes the exact kernel version you're running, as well as the CPU architecture.
2. Please run the command "dmesg > dmesg.log" and attach the resulting file "dmesg.log" to this bug report.
3. Please run the command "lspci -vvnn > lspci-vvnn.log" and attach the resulting file "lspci-vvnn.log" to this bug report.

For your reference, the full description of procedures for kernel-related bug reports is available at http://wiki.ubuntu.com/DebuggingKernelProblems . Thanks in advance!

Changed in midisport-firmware:
assignee: nobody → caravena
status: Unconfirmed → Needs Info
Revision history for this message
Al Buntu (biedermann2) wrote :

uname -a:
Linux schlumpf 2.6.20-9-generic #2 SMP Mon Feb 26 03:01:44 UTC 2007 i686 GNU/Linux

Revision history for this message
Al Buntu (biedermann2) wrote :
Revision history for this message
Al Buntu (biedermann2) wrote :
Revision history for this message
Tim Schofield (tim-scoffer) wrote :

Hi

I have had the same problem loading firmware into the midisport2x2

Fixed it by adding -D $env{DEVNAME} to the end of the fxload command in the /etc/udev/rules.d/35-midisport-firmware.rules

i.e

ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1001", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport2x2.ihx "

is replaced by

ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1001", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport2x2.ihx -D $env{DEVNAME}"

Revision history for this message
Al Buntu (biedermann2) wrote : Re: [Bug 88923] Re: Package 'midisport-firmware': firmware is not loaded automatically

Thank you for your answer but sorry to say -
it didn't work for me.
I only get the firmware loaded using the follwoing command:

/fxload -I /usr/share/usb/maudio/MidiSport4x4.ihx -D /proc/bus/usb/003/005

/Do you have any other ideas?

Tim Schofield schrieb:
> Hi
>
> I have had the same problem loading firmware into the midisport2x2
>
> Fixed it by adding -D $env{DEVNAME} to the end of the fxload command in
> the /etc/udev/rules.d/35-midisport-firmware.rules
>
> i.e
>
> ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763",
> ATTRS{idProduct}=="1001", RUN+="/sbin/fxload -s
> /lib/firmware/maudio/MidiSportLoader.ihx -I
> /lib/firmware/maudio/MidiSport2x2.ihx "
>
> is replaced by
>
> ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763",
> ATTRS{idProduct}=="1001", RUN+="/sbin/fxload -s
> /lib/firmware/maudio/MidiSportLoader.ihx -I
> /lib/firmware/maudio/MidiSport2x2.ihx -D $env{DEVNAME}"
>
>

Revision history for this message
Tim Schofield (tim-scoffer) wrote :

It appears that your firmware and fxload are working OK then. So the reason it is not working on boot is probably udev related
I have attached my modified version of /etc/udev/rules.d/35-midisport-firmware.rules for you to try. Don't forget to change permissions and ownership to the same as your other rules

if you still have a problem attach your original midisport-firmware.rules file from the /etc/udev/rules.d/ directory and I will test it on my machine to see if it works with my Midisport2x2 hardware.

Regards

Tim

Revision history for this message
Al Buntu (biedermann2) wrote :

Hello Tim,

at first - thank you for trying to help me!

I deinstalled the old firmware-driver and installed the driver attached
on this mail. the installation creates a rule-file which I attached to
this mail, too.
When I plug in the midisport in, then it is recoginzed and is working.
But it won't be recognized on the next boot when it was already plugged in.

If I use your file, my midisport's LEDs are blinking all the time and my
USB-mouse and -keyboard aren't working anymore.
Can you tell me what's wrong?

Thank you in advance.

Tim Schofield schrieb:
> It appears that your firmware and fxload are working OK then. So the reason it is not working on boot is probably udev related
> I have attached my modified version of /etc/udev/rules.d/35-midisport-firmware.rules for you to try. Don't forget to change permissions and ownership to the same as your other rules
>
> if you still have a problem attach your original midisport-
> firmware.rules file from the /etc/udev/rules.d/ directory and I will
> test it on my machine to see if it works with my Midisport2x2 hardware.
>
>
>
> Tim
>
> ** Attachment added: "Modified midisport-firmware udev rules"
> http://librarian.launchpad.net/7178849/35-midisport-firmware.rules
>
>

# midisport-firmware.rules - udev rules for loading firmware into MidiSport devices

# DEVPATH=="/*.0" selects interface 0 only
# (some udev versions don't work with SYSFS{bInterfaceNumber})

# MidiSport 2x2
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1001/*", RUN+="/sbin/fxload -s /usr/share/usb/maudio/MidiSportLoader.ihx -I /usr/share/usb/maudio/MidiSport2x2.ihx"
# MidiSport 1x1
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1010/*", RUN+="/sbin/fxload -s /usr/share/usb/maudio/MidiSportLoader.ihx -I /usr/share/usb/maudio/MidiSport1x1.ihx"
# KeyStation
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1014/*", RUN+="/sbin/fxload -s /usr/share/usb/maudio/MidiSportLoader.ihx -I /usr/share/usb/maudio/MidiSportKS.ihx"
# MidiSport 4x4
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1020/*", RUN+="/sbin/fxload -s /usr/share/usb/maudio/MidiSportLoader.ihx -I /usr/share/usb/maudio/MidiSport4x4.ihx"
# MidiSport 8x8
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1031/110", RUN+="/sbin/fxload -s /usr/share/usb/maudio/MidiSportLoader.ihx -I /usr/share/usb/maudio/MidiSport8x8-2.10.ihx"
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/1031/121", RUN+="/sbin/fxload -s /usr/share/usb/maudio/MidiSportLoader.ihx -I /usr/share/usb/maudio/MidiSport8x8-2.21.ihx"

# vim: ft=conf

Revision history for this message
Kevin Barrett (kevkeys1970-ubuntu) wrote :

Using $tempnode also works:

ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1031", ATTRS{bcdDevice}=="0121", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport8x8-2.21.ihx -D $tempnode"

Revision history for this message
Al Buntu (biedermann2) wrote : Re: [Bug 88923] Re: Package 'midisport-firmware': firmware is not loaded automatically

Hello Kevin,

The tempnode - option worked for me!
This was the first hint which helped me after many months of waiting!
Thank you!

Best regards!

Kevin Barrett schrieb:
> Using $tempnode also works:
>
> ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763",
> ATTRS{idProduct}=="1031", ATTRS{bcdDevice}=="0121", RUN+="/sbin/fxload
> -s /lib/firmware/maudio/MidiSportLoader.ihx -I
> /lib/firmware/maudio/MidiSport8x8-2.21.ihx -D $tempnode"
>
>

Revision history for this message
MenTaLguY (mental-deactivatedaccount) wrote :

I had the same problem; adding -D $env{DEVNAME} fixed it for me.

Revision history for this message
Tom Willis (tom-willis) wrote :

Same problem and same solution

Revision history for this message
Dan Bishop (danbishop) wrote :

Same problem on gutsy. Fixed for midisport 2x2 by changing /etc/udev/rules.d/85-midisport-firmware.rules to read as below:

# midisport-firmware.rules - udev rules for loading firmware into MidiSport devices

# MidiSport 2x2
ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1001", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport2x2.ihx -D $env{DEVNAME}"

# MidiSport 1x1
ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1010", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport1x1.ihx"

# KeyStation
ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1014", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSportKS.ihx"

# MidiSport 4x4
ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1020", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport4x4.ihx"

# MidiSport 8x8
ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1031", ATTRS{bcdDevice}=="0110", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport8x8-2.10.ihx"
ACTION=="add", SUBSYSTEM=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="1031", ATTRS{bcdDevice}=="0121", RUN+="/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSport8x8-2.21.ihx"

# vim: ft=conf

Revision history for this message
Dan Bishop (danbishop) wrote :

It seems a simple modification of the current udev rules will fix this...

Changed in midisport-firmware:
status: Incomplete → Confirmed
Revision history for this message
carrasclin (fontanet9) wrote :

Just to say I had the same problem and the same solution pointed before.

In my case it is a Keystation.

Adding "$env{DEVNAME}" as stated before...
...and the keyboard starts nice and is fully accessible with qjackd control and Rosegarden.

I've been for about two weeks crazy about. I conjectured perhaps it was an ALSA issue and perhaps I should recompile it... perhaps a kernel issue... really I was becoming mad.

And now a petition for the package maintainer/ers:

I see that the latest package available on the Gutsy repo still is not fixed. So please fix it as soon as you can since this kind of bugs are what make many people who by first time aproache to Ubuntu and other GNU/Linux dists think that Linux is bad or do not works or that has no hardware support and so on...
So please fix it! Actually the fix it is really simple.

Thanks a lot especially to the one person that found the fix and for all the Launchpad folks.

Revision history for this message
Al Buntu (biedermann2) wrote :

on hardy hadron:
the same problem occurs!
but in opposition of feisty and gutsy neither the addition "-D $tempnode" nor " -D $env{DEVNAME}" in the rules-file is working for me :-((
what I tried till now:
addition in fstab: "usbfs /proc/bus/usb usbfs auto 0 0"
substitution in 85-midisport-firmware.rules: instead of "$env{DEVNAME}" I tried "$tempnode"

Result: none. :-((

Any ideas?

Revision history for this message
Al Buntu (biedermann2) wrote :

uname -a:
Linux schlumpf 2.6.24-12-generic #1 SMP Wed Mar 12 22:31:43 UTC 2008 x86_64 GNU/Linux

Revision history for this message
Al Buntu (biedermann2) wrote :
Revision history for this message
carrasclin (fontanet9) wrote :

I've only tested with a live CD and I am not sure if this is an idiosincrasy of the live CD and with a regular hard drive install things work different. (I am intending to test it with other computer since that which I am using now is for real work).

With the March 18th beta and the live daily build of March 28 what I've seen is that the usb devices that normaly appeared both mounted at /proc/bus/usb/###/### and at /dev/bus/usb/###/###, now only appear at /dev/bus/usb/

In my case the workaround is issue an lsusb to identify the bus and device numbers of the Midiman device and then load manualy the firmware with something like:

"/sbin/fxload -s /lib/firmware/maudio/MidiSportLoader.ihx -I /lib/firmware/maudio/MidiSportKS.ihx -D /dev/bus/usb/##1/##2" being ##1 and ##2 the numbers showed with the lsusb command and substituing "MidiSportKS.ihx" with that appropriate to your m-audio device.

A script to automaticaly do the workaround could be:

#!/bin/bash

#your firmware ... taken from usbmidi. You must substitute 'xxxxxxxxxxxx.ihx' for the corresponding to your device
fw=/lib/firmware/maudio/xxxxxxxxxxxx.ihx

#perhaps you need an additional second stage firmware blob loader. Then you could set the following
#fw2=/lib/firmware/maudio/MidiSportLoader.ihx
#and change 'fxload -I $fw -D $dev' line to 'fxload -s $fw2 -I $fw -D $dev

#get proc address. Perhaps you must change 'Midisport' for 'Midiman'
bd=$( lsusb | grep Midisport | cut -d ' ' -f 2,4 | sed -e 's/ /\//' -e 's/://' )

# normally it should be 'dev=/proc/bus/usb/$bd'
dev=/dev/bus/usb/$bd

#load firmware
echo fxload -I $fw -D $dev
fxload -I $fw -D $dev

Revision history for this message
PJ (eespjl) wrote :

Thanks . . . That works fine for my midisport2x2 (alpha6)

Revision history for this message
Sivert Henriksen (sivert) wrote :

I'm trying to get this to work also.
Having done what carrasclin wrote, i get:
fxload -I /lib/firmware/maudio/MidiSport2x2.ihx -D /dev/bus/usb/001/008
can't modify CPUCS: Broken pipe

Help! ^^

Revision history for this message
carrasclin (fontanet9) wrote :

On the last days it seems that the new midisport firmware package now installs under /usr/share/usb/maudio/...
The "-I" switch of fxload it is an upper case letter 'ei' _not_ a lower case 'L', since with some typographic sets such as Arial their appearance is the same it is important to distinguish it.

_All_scripts_and_commands_must_be_issued_as_super-user, ie: sudo.

So it seems that now the manual setting of the firmware should be done with "sudo fxload -I /usr/share/usb/maudio/MidiSport2x2.ihx -D /dev/bus/usb/001/008"
setting apropriatly /dev/bus/usb/###/### according with what shows 'lsusb' where the midi device it is pluged in.

Take a look also here https://bugs.launchpad.net/ubuntu/+source/midisport-firmware/+bug/27833 since this bug report it is a duplicate of that.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.