> > I've written a DFU loader > > http://prdownloads.sourceforge.net/usb-midi-fw/madfu-firmware-0.1beta3.tar.gz?download > > which does the same as the Windows loader. Unfortunately, it doesn't > > work because the 2.4 kernel gets confused when the device resets > > itself.
As a followup I have kludged Clemens loader to work by a) removing the two lines at the end of the subroutine download_firmware in madfuload.c if(usb_reset()==-1) fatal("cannot reset device - %s".strerror(errno)); As Clemens has said this seriously infects the kernel, so that program after program begins to die. b) putting the lines /usr/bin/at now + 1 minutes <<EOF service usb restart EOF service usb stop at the end of the maudio_dfu scipt. ***** see note 2 below*** c) remove the comment mark # in front of the usb_stop line in the /etc/init.d/usb service script in mandrake. stop) # usb_stop rm -f /var/lock/subsys/usb ***** see note1 below*** d) make a directory /usr/lib/hotplug/maudio_dfu and put maudio_dfu.usermap into that directory as usb.usermap, and then running update-usb.usermap which updates /etc/hotplug/usb.usermap e) Moving the script maudio_dfu into /etc/hotplug/usb f) left the two programs /usr/local/share/usb/maudio/ma006100.bin and /usr/local/sbin/madfuload where Clemens script put them. If you move them you have to change the locations in maudio_dfu ****Note1 that for some reason Mandrake comments out the line I have no idea if restoring it breaks something else in Mandrake. Note2: this is a double kludge. To get the Maudio soundcard with the firmware loaded to be recognized by the Linux usb driver, I have to restart the usb driver. For some reason the usb bus does not recognize the new productid 2006 (Transit with firmware loaded) on the bus otherwise. Also, it appears the the service usb stop also kills the hotplug script maudio_dfu run by the hotplugging. This means that you cannot put the service usb start (or restart) into this script-- it never gets run. thus the "at" kludge which takes a minute to run the usb bus restart. Despite the very hokey nature of the above, it works. I can now plug in and unplug the MAudio transit sound card, the firmware gets loaded and the card is recognized by alsa , and it plays. (But I sure hope the bug in the Linux USB support which prevents it from recognising the firmware loaded card will get fixed soon>) This was on Mandrake kernel 2.4.22.26mdk-1-1mdk) with ALSA 1.0.1 Note that the ALSA support still needs to be tuned, since 16 bit audio stuff does not work at all, and 24 bit stuff seems to be using reverse bit order. Also the only mixer that seems to work is the alsamixer. The others (kmix and aumix) cannot change the microphone volume from full on. There are also only two sliders-- PCM and microphone. Thanks to Clemens for the effort he has put into getting the firmware loader to work. M-Audio itself refused to give me any information at all. -- Everything is proprietary. Even which file is teh firmware was proprietary. Not a very friendly company. Bill Unruh ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Alsa-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-user