Add support for MidiSport USB midi interfaces
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Baltix |
New
|
Medium
|
Unassigned | ||
midisport-firmware (Ubuntu) |
Fix Released
|
Wishlist
|
Luke Yelavich |
Bug Description
as per the summary line, please add support for the MidiSport USB-MIDI
interfaces. It was relatively straightforward to get them working in Breezy, but
since hotplug has been removed, it's now fairly fiddly.
First, the GPL firmware for the device will need to be added to the package
archive. The source code is available here:
http://
Under the "firmwarehotplug" fileset. I have until now been using the 'ezusbmidi'
package from the agnula/demudi project. The package, along with its sources are
available here:
http://
The source packages there build just fine on my ubuntu-dapper install; they can
probably be imported directly.
Finally, some conversion will need to be done on the hotplug scripts in that
package so that udev will load the firmware when the MidiSport is plugged in
(and something needs to load the snd-usb-audio, snd-seq-midi, etc drivers as
well). If new scripts are to be written, they will need to invoke the 'fxload'
utility to upload the firmware
Note that the hotplug scripts included in that package made the device 'just
work' once plugged in. There's only a few lines in them; it should be a
straightforward port.
I will attach the 'lsusb -v' output relevant to the device, after the firmware
has been loaded and the kernel modules loaded.
Related branches
James Gregory (ubuntu-bugs-james) wrote : | #1 |
Scott James Remnant (Canonical) (canonical-scott) wrote : | #2 |
Ben, this is a request to add additional firmware to the kernel packages.
Changed in udev: | |
assignee: | keybuk → kernel-team |
Scott James Remnant (Canonical) (canonical-scott) wrote : | #3 |
My mistake, this needs fxload, so isn't kernel.
Changed in linux-source-2.6.15: | |
assignee: | kernel-team → keybuk |
Scott James Remnant (Canonical) (canonical-scott) wrote : | #4 |
Wishlist only, no plans to implement this for dapper
Changed in udev: | |
status: | Unconfirmed → Confirmed |
Forest Bond (forest-bond) wrote : | #5 |
I have already uploaded a midisport-firmware package to revu. Please see http://
LevTermen (theremin) wrote : | #6 |
Just a little update to add that it still doesn't work on Edgy for the two of us from here:
http://
Forest Bond (forest-bond) wrote : | #7 |
This didn't make it in time for edgy; look for it in feisty. Temporarily, a package for edgy can be downloaded from here:
Ignore the text in /usr/share/
You may need to restart udev after booting in order for the device to be detected; I have not yet figured out why.
To restart udev:
$ sudo /etc/init.d/udev restart
-Forest
Forest Bond (forest-bond) wrote : | #8 |
Correction: the instructions in /usr/share/
-Forest
LevTermen (theremin) wrote : | #9 |
Thank you for your time. Actually this package doesn't seem to help more than compiling and installing the source code.
I added the following in /etc/fstab as adviced on /usr/share/
usbfs /dev/bus/usb usbfs defaults 0 0
I did, in disorder to meet all possibilities, reboot my system, restart udev, replug the device... nothing helps!
I can paste here the output of any command (lsusb; dmesg; cat /proc/asound/cards) by request.
Notice that I've followed the following tutorial:
https:/
therefore my /etc/modprobe.
options snd-usb-audio index=-2
I suspect we should rather look at the multiple soundcards issue, shouldn't we? The facts are here:
https:/
Changed in udev: | |
assignee: | keybuk → nobody |
Changed in udev: | |
assignee: | nobody → forest-alittletooquiet |
Erik Ridderby (paddlaren) wrote : | #10 |
- Package with potential solution to the problem. Edit (1.8 KiB, text/plain)
Hi!
The problem is that the fxload needs a device as arguemnt (-D /proc/bus/
I have made a wrapper-script and a new udev-rules-file to be used. They works fine on my system but I'd like to have other test them as well.
The script have GLP 3 licence and feel free to include them in the package.
The attachment is a package with a fix for this problem. I will send this to the midi_sport mainatainer as well but the fix is designed to work on my Kubuntu 7.04. Please read the README file for installation description.
Please send feedback of the script. It works just fine on my computer. It made my Kubuntu with some packages from UbuntuStudio a darn good MIDI-studio!
Erik Ridderby (paddlaren) wrote : | #11 |
By the way....
My fix assumes that the package: midisport-firmware is installed on the system.
Erik Ridderby (paddlaren) wrote : | #12 |
- Working udev-rules for midisport. Edit (1.5 KiB, text/plain)
And as always one find a simplier solution when one is done :)
Install the midisport-
Change the following in the /etc/udev/
Within the brackets on each rule, add -D $env{DEVNAME} within the brackets.
Example for the Midisport 2x2 rule:
# MidiSport 2x2
ACTION=="add", SUBSYSTEM=
Shall be change to:
# MidiSport 2x2
ACTION=="add", SUBSYSTEM=
I add a modified rules-file with no guarantee what so ever. This is the small matter left before you have midi-support.
Forest Bond (forest-bond) wrote : | #13 |
Aha! This wasn't necessary on my system. I'm not clear as to what makes this necessary; any ideas?
Unfortunately, I no longer have my MidiSport, as it was loaned to a friend. I can apply your changes to the package, and, if you can test them, I'll see if I can get the package uploaded for Gutsy...
-Forest
Erik Ridderby (paddlaren) wrote : Re: [Bug 27833] Re: Add support for MidiSport USB midi interfaces | #14 |
It is a mysterium for me why this suddenly araise and why only some of us
seems to need it. But it is very obvius that the fxload needs a -D argument
with the devicepath so I am rather more impressed that it work without this
fix.
I will certain test the package if you give me a hint of where to find it.
Regards,
Erik
Forest Bond (forest-bond) wrote : | #15 |
Hi,
On Fri, Aug 03, 2007 at 05:20:31AM -0000, Paddlaren wrote:
> It is a mysterium for me why this suddenly araise and why only some of us
> seems to need it. But it is very obvius that the fxload needs a -D argument
> with the devicepath so I am rather more impressed that it work without this
> fix.
Actually, the manpage indicates that if -D is not used, the environment variable
$DEVICE is used instead. I believe that either udev or the kernel sets this
variable, which is why it works on my system without the -D.
Are you sure the -D is necessary on your system?
What version of Ubuntu are you running? I believe there was a minor glitch on
Edgy (or was it Dapper?) that caused some USB devices requiring firmware to not
come up at boot time, but if udev was restarted (sudo /etc/init.d/udev restart),
the devices would then be able to load correcdtly. If I'm remembering
correctly, this was related to usbfs, and whether or not it was loaded at the
right time in the process.
Can you try changing your udev file back to the version without the -D and
rebooting? If your MidoSport doesn't work at that point, restart udev. If it
still doesn't work, I'd like to figure out why that is.
> I will certain test the package if you give me a hint of where to find
> it.
Ok, when/if I have one ready, I'll post a link.
thanks,
Forest
--
Forest Bond
http://
Erik Ridderby (paddlaren) wrote : | #16 |
Hi!
2007/8/3, Forest Bond <email address hidden>:
>
> Hi,
>
> On Fri, Aug 03, 2007 at 05:20:31AM -0000, Paddlaren wrote:
> > It is a mysterium for me why this suddenly araise and why only some of
> us
> > seems to need it. But it is very obvius that the fxload needs a -D
> argument
> > with the devicepath so I am rather more impressed that it work without
> this
> > fix.
>
> Actually, the manpage indicates that if -D is not used, the environment
> variable
> $DEVICE is used instead. I believe that either udev or the kernel sets
> this
> variable, which is why it works on my system without the -D.
Missed that.
Are you sure the -D is necessary on your system?
>
> What version of Ubuntu are you running? I believe there was a minor
> glitch on
> Edgy (or was it Dapper?) that caused some USB devices requiring firmware
> to not
> come up at boot time, but if udev was restarted (sudo /etc/init.d/udev
> restart),
> the devices would then be able to load correcdtly. If I'm remembering
> correctly, this was related to usbfs, and whether or not it was loaded at
> the
> right time in the process.
I am using kubuntu 7.04 and have enabled the backport repositories. I have
also installed meta-packages for a music studio from UbuntuStudio
installed. The udev package have the version 108-0ubuntu4. fxload is version
0.0.20020411-1.
uname reports:
Linux kalle 2.6.20-16-generic #2 SMP Thu Jun 7 20:19:32 UTC 2007 i686
GNU/Linux
Can you try changing your udev file back to the version without the -D and
> rebooting? If your MidoSport doesn't work at that point, restart
> udev. If it
> still doesn't work, I'd like to figure out why that is.
Before I started to hack the udev-rules I installed the midisport-package
and failed to load the firmware. Then I rebooted my machine and still
failed.
I modified the script above to print $DEVICE and $DEVNAME into a log file
and $DEVICE is not set or contains no information.
It seems that one difference is that my fix uses $DEVNAME instead of
$DEVICE. Anybody knows why/when this is changed? Are there a setting for
this that can differ?
The trace-printout results in:
${DEVICE}:
${DEVNAME}: /dev/bus/
> I will certain test the package if you give me a hint of where to find
> > it.
>
> Ok, when/if I have one ready, I'll post a link.
>
> thanks,
> Forest
> --
> Forest Bond
> http://
>
> --
> Add support for MidiSport USB midi interfaces
> https:/
> You received this bug notification because you are a direct subscriber
> of the bug.
>
Forest Bond (forest-bond) wrote : | #17 |
On Fri, Aug 03, 2007 at 02:32:54PM -0000, Paddlaren wrote:
> 2007/8/3, Forest Bond <email address hidden>:
> I modified the script above to print $DEVICE and $DEVNAME into a log file
> and $DEVICE is not set or contains no information.
> It seems that one difference is that my fix uses $DEVNAME instead of
> $DEVICE. Anybody knows why/when this is changed? Are there a setting for
> this that can differ?
>
> The trace-printout results in:
> ${DEVICE}:
> ${DEVNAME}: /dev/bus/
Interesting.
As I mentioned before, I don't currently have the hardware to test this with,
but it was working on my system. Perhaps something changed with udev...
I'll see if I can get some advice from someone who knows udev better than I do.
-Forest
--
Forest Bond
http://
spart (germain) wrote : | #18 |
Hi...
I experienced the same problem with a midisport 2x2 on a fresh kubuntu Feisty.
The proposed fix by Paddlaren (https:/
works fine for me.
BTW, this bug still has WHISHLIST status. That doesn't seem accurate?
Juan Carlos Inostroza (jci) wrote : | #19 |
I can confirm the fix by Paddlaren solves the problem.
Richard Taylor (rsjtaylor) wrote : | #20 |
Same problem in gutsy just so as you know. Not tried the solution yet but don't have the mentioned directory or file so not hugely optimistic, maybe I'm missing some package or other?
Forest Bond (forest-bond) wrote : | #21 |
Ok, sorry for the delay. I'm not getting a response from The People That Would Know. It's a busy time for them.
I see two confirmations that Paddlaren's changes fix this issue:
* Paddlaren
* Juan Carlos Inostroza
Add one or two more to that list and I'm convinced; I'll see if I can upload the changes for Hardy.
James Gregory? Lev Terman?
Forest Bond (forest-bond) wrote : | #22 |
- debdiff with fix Edit (3.5 KiB, text/plain)
I see further confirmation of this fix in #88923 (marked as duplicate of this bug now). Debdiff with fix attached.
carrasclin (fontanet9) wrote : | #23 |
To Forest Bond.
I see in your attached debdiff something like...
<code>
# MidiSport 2x2
-ACTION=="add", SUBSYSTEM=
+ACTION=="add", SUBSYSTEM=
</code>
PLEASE, PLEASE, it is not correct!!!
the '-d $env{DEVNAME}' MUST be inside the quote commas. And the '-d' should be an upper case.
Like this...
<code>
ACTION=="add", SUBSYSTEM=
</code>
If not this way, would not work.
I've also tried the '-D $tempnode' as pointed out by other colegue and also works OK.
It is interesting to know also that I have compiled from the source available on the sourceforge.net on an official Debian Etch and the original '42-midisport-
But on Ubuntu (both Feisty and Gutsy) the only way to make it work is with the above code, whether with -D $env{DEVNAME} or -D $tempnode.
Greetings.
Forest Bond (forest-bond) wrote : | #24 |
- midisport-firmware-1.2+dsfg1-0ubuntu2.debdiff Edit (3.5 KiB, text/plain)
> I see in your attached debdiff something like...
>
> # MidiSport 2x2
> -ACTION=="add", SUBSYSTEM=
> +ACTION=="add", SUBSYSTEM=
>
> PLEASE, PLEASE, it is not correct!!!
>
> the '-d $env{DEVNAME}' MUST be inside the quote commas. And the '-d' should be an upper case.
Right, sorry about that. Fixed version attached.
> It is interesting to know also that I have compiled from the source available on the sourceforge.net on an official Debian Etch and the original
> '42-midisport-
> But on Ubuntu (both Feisty and Gutsy) the only way to make it work is with the above code, whether with -D $env{DEVNAME} or -D $tempnode.
Yes, I think this is due to some Ubuntu-specific udev/kerenl stuff, although I don't really know enough about that to be sure.
Thanks,
Forest
silicium (silicium) wrote : | #25 |
Hi
Thanks to Paddlaren's package with potential solution to the problem, I was able to start my Midisport 2x2 after moving firmware installed by usb-fw-midi from /usr/local/share/* to /lib/firmware/
Additional hardware information: my motherboard is an Asus CUR-DLS, running Ubuntu Studio 7.10, kernel 2.6.22-14-rt SMP PREEMPT RT, lots of PCI IRQs, needs boot option 'acpi=force' to prevent bad IRQ mapping (after install, the IRQ for USB host was stolen by another card and USB was completely disabled)
Forest Bond (forest-bond) wrote : | #26 |
To be clear, silicium, you could've gotten your Midisport working by simply changing the udev rules file, as Paddlaren himself described a few posts after he posted his tarball.
-Forest
Luke Yelavich (themuso) wrote : | #27 |
Could you please explain why this package pre-depends on bind9host? It also appears that this package has nothing in it other than documentation, and udev rules...
Changed in midisport-firmware: | |
status: | Confirmed → Incomplete |
Forest Bond (forest-bond) wrote : | #28 |
You're knee deep in clues.
It downloads firmware during the install process. The firmware files are not licensed for distribution except as part of the archive on sourceforge.
-Forest
Forest Bond (forest-bond) wrote : | #29 |
bind9-host is used to test internet connectivity before the download. In hindsight, this isn't really necessary, and internet connectivity might go away after the check, anyway. It doesn't really do any harm, though, and most machines have bind9-host installed, anyway.
Changed in midisport-firmware: | |
assignee: | forest-alittletooquiet → themuso |
status: | Incomplete → In Progress |
Luke Yelavich (themuso) wrote : | #30 |
midisport-firmware (1.2+dsfg1-
[ Forest Bond ]
* Added $env{DEVNAME} to fxload calls in udev rules file.
- LP: #27833
* Got rid of debian/bzr_release; this was some maintainer book-keeping that
really is no longer relevant.
[ Luke Yelavich ]
* Update maintainer field as per spec.
-- Luke Yelavich <email address hidden> Mon, 12 Nov 2007 22:43:55 +1100
Changed in midisport-firmware: | |
status: | In Progress → Fix Released |
PJ (eespjl) wrote : | #31 |
udev does not load my oxygen8 or midisport2x2
Using hardy-alpha6
It has the $env{DEVNAME} in the rule file
I can fire up my midi by using fxload explicitly.
This is what I get when I plug in my midisport2x2
root@bunty:
* Stopping kernel event manager... [ OK ]
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] parse_file: reading '/etc/udev/
[12412] main: initialize max_childs to 624
[12412] main: initialize max_childs_running to 24
[12412] msg_queue_insert: seq 5326 queued, 'add' 'usb'
[12425] udev_...
jof (general-midi) wrote : | #32 |
I have problem too with midisport2x2 and oxygen8.
I install midisport-firmware and fxload with synaptic, restart my computer, plug my keyboard and midisport2x2.
None of my peripherals is recognized :( in Qjackctl
My config is :
Ubuntu I386 Hardy beta with kernel 2.6.24-15 generic and rt
carrasclin (fontanet9) wrote : | #33 |
The problem seems due to that the usbfs is not mounted on /proc/bus/usb/ but only on /dev/bus/usb. So the udev scripts that use the /proc/bus/usb to upload the firmwares to the attached devices fail to do so since it do not found the respective nodes.
I have found a workaround that I've posted on the duplicate of this bug report here https:/
carrasclin (fontanet9) wrote : | #34 |
- 85-midisport-firmware.rules replacement to the one installed by Ubuntu deb package. Place it on /etc/udev/rules.d/ Edit (1.4 KiB, text/plain)
It seem that the way as the udev rules are managed in Ubuntu have been chaged, interestengly making it more compatible with the original Midisport firmware package and with Debian itself. And thats the reason of the latest problems.
The fix consists of two steps.
First of all the usbfs must be properly set. On the Live CD it is not. So you have to isuue 'sudo mount usbfs -t usbfs /proc/bus/usb/'. And on a hard drive installation you have to open '/etc/fstab' and lookout for an entry 'proc /proc proc defaults 0 0'. If it is not pressent edit it and save. You con do it with 'sudo gedit /etc/fstab'
And next comes the firmware issue part:
Actually you have three ways to workaround the problem:
First of all and independent of the installation procedure 'apt-get install fxload'
1- Download the Debian 'precompiled' version from any Debian repo like http://
2- Download the 'source' package from any Debian repo or from soruceforge.net http://
So you unpack the tarball, enter to the unpacked directory and type the usual './configure && make && sudo make install'
3- Install the one from the Ubuntu repo but 'sudo nautilus' and go to '/etc/udev/rules.d' find a file '85-midisport-
---------cut here---
# midisport-
# DEVPATH=="/*.0" selects interface 0 only
# (some udev versions don't work with SYSFS{bInterfac
# MidiSport 2x2
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}
# MidiSport 1x1
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}
# KeyStation
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}
# MidiSport 4x4
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}
# MidiSport 8x8
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}
ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}
# vim: ft=conf
--------cut here---
Forest Bond (forest-bond) wrote : | #35 |
Issues mentioned here should be resolved by #213498.
jof (general-midi) wrote : | #36 |
I try with the new package 1.2+dsfg1-0ubuntu4 and i have always problem in Qjackctl.
I type in a terminal lsusb and my peripheral is recognized.
Bus 002 Device 005: ID 0763:1001 Midiman Midisport 2x2.
I tried to load Midisport 2x2 with the script of this page
https:/
This does not solve the bug and i have this error in terminal
fxload -I /lib/firmware/
/lib/firmware/
In the new package 1.2+dsfg1-0ubuntu4 you have changed /etc/udev/rules.d/ midisport-
sudo rm /etc/udev/
I restart my computer i have always problem.
I autoremove --purge and re install midisport-firmware with apt-get. At the end of the installation package,
I do not see the same thing at the installation package 1.2+dsfg1-0ubuntu3. I have not seen the command (Loading additional hardware drivers...) with the new package 1.2+dsfg1-0ubuntu4.
Al Buntu (biedermann2) wrote : | #37 |
>
> I tried to load Midisport 2x2 with the script of this page
> https:/
> This does not solve the bug and i have this error in terminal
>
> fxload -I /lib/firmware/
> /lib/firmware/
>
>
You must do that as Superuser!!
--
GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
Jetzt dabei sein: http://
PJ (eespjl) wrote : | #38 |
/lib no longer contains the firmware it seems to have migrated to /usr/share/usb
Currently this is the workaround script that works for me (as superuser).
-------
#!/bin/sh
fw=/usr/
bd=$( lsusb | grep Midisport | cut -d ' ' -f 2,4 | sed -e 's/ /\//' -e 's/://' )
dev=/dev/
echo fxload -I $fw -D $dev
fxload -I $fw -D $dev
---------
jof (general-midi) wrote : | #39 |
Thanks you PJ
I try with script
#!/bin/sh
fw=/usr/
bd=$( lsusb | grep Midisport | cut -d ' ' -f 2,4 | sed -e 's/ /\//' -e 's/://' )
dev=/dev/
echo fxload -I $fw -D $dev
fxload -I $fw -D $dev
My peripheral is recognized in Qjackctl :-) I'am very happy
Sivert Henriksen (sivert) wrote : | #40 |
I get
fxload -I /usr/share/
can't modify CPUCS: Broken pipe
that last script.
What MidiSport*x*.ihx sould i use for Oxygen8? lsusb only says Midiman.
Also, in the last update of the MidiSport firmware in the Ubuntu repo, the firmware is in fact installed to /lib, and not to /usr/share.
PJ (eespjl) wrote : | #41 |
Hi,
/usr/share/
PJ
On Sat, 2008-04-12 at 05:39 +0000, Xecuter88 wrote:
> I get
>
> fxload -I /usr/share/
> can't modify CPUCS: Broken pipe
>
> that last script.
>
> What MidiSport*x*.ihx sould i use for Oxygen8? lsusb only says Midiman.
>
> Also, in the last update of the MidiSport firmware in the Ubuntu repo,
> the firmware is in fact installed to /lib, and not to /usr/share.
>
Sivert Henriksen (sivert) wrote : | #42 |
Thanks, but I'm still getting
can't modify CPUCS: Broken pipe
Tried restarting udev, as I read further up this page, but no difference?
Something else i should do?
carrasclin (fontanet9) wrote : | #43 |
The message "can't modify CPUCS: Broken pipe" means that the device you intend to load the firmware does not accept it because it is incompatible.
I can reproduce it on my system:
When I issue lsusb with a USB sound card connetcted I get the following:
"remy@d4700:~$ su
Password:
d4700:/home/remy# lsusb
Bus 005 Device 003: ID 067b:2506 Prolific Technology, Inc.
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 004: ID 0d8c:0006 C-Media Electronics, Inc.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000"
so a C-Media's chip USB sound card is connected to Bus 002 Device 004
and then if I issue a stupid command attempting to load some MidiSport firmware to it:
"d4700:/home/remy# fxload -I /usr/share/
then I get exactly:
"can't modify CPUCS: Broken pipe
d4700:/home/remy#"
After having taken a look at M-Audio's home page I see that the new versions of Oxygen keyborards such as 'Oxygen 8 v2 - 25-Key USB MIDI Controller' it says that are 'USB class-compliant'. That means that actually it does not need any driver at all. USB class-compliant devices are supposed --at least in theory-- that are supported with a generic set of drivers incorporated on the operating system. In my case I have a 'generic-no-brand' USB MIDI interface which it seems a replica of M-Audio Midi-Uno and it is automaticaly recognized on qjack control, same happens with the forementioned USB sound card which uses a CM106-L C-Media chip.
So my suggestion is to try to use it without trying to load any firmware and start qjack control and wait a minute or so and look out on the pop-up box after clicking on button 'Connect', tab MIDI, and click on 'Refresh'.
If the Oxygen is the original version 8 in principle the MidiSportKS.ihx firmware should work. But the "can't modify CPUCS: Broken pipe" message what in fact tells us is that inside the keyboard there is something which is not the original interface of first versions of that keyboard series. With the 'USB class-compliant" Oxygen 8 v2 the firmware loading with fxload certainly shall not work, and then the only hope is that it will be automatically recognized by the generic 'class-compliant' drivers provided with ALSA and the kernel.
Sivert Henriksen (sivert) wrote : | #44 |
Okey! I actually got the Oxygen v2, probably should have mentioned it before...
But I've tried what you mentioned, and it doesn't seem to work.
So this means that I have to wait for new drivers to be written?
carrasclin (fontanet9) wrote : | #45 |
I'am affraid it is so.
But in the previous post I've sayed to look at the qjack control tab marked as MIDI, instead you should look also at the tab marked ALSA and see after clicking on 'refresh' button if it shows some MIDI device appart from 'Midi Through'. If the answer is yes probably it is the Oxygen device, even if it is namend with an other name. In that case probably it will be recognaized and work with usual MIDI software such as Rosegarden and soft synths like ZynAddSubFX.
If it is not recognized in any way on qjack control, then the only hope is to wait for newer versions of ALSA that will incorporate generic 'class-compliant' driver support for the Oxygen 8 v.2. Since it is a popular brand there is hope that this could happen.
That is the usual way that goes with Linux. The most recent hardware --and the new version 2 of that particular keyboard it is a rather new-- have to wait some time untill is fully supported.
Of course there is a workaround to make the keyboard work in the meanwhile: since it has a standard MIDI out port you could use a generic USB MIDI interface of that sort that is usually found on eBay and the like and to interface the Oxygen with the computer through that.
Sivert Henriksen (sivert) wrote : | #46 |
No there's no changes in Jack what so ever, so I'll have to go buy a MIDI-cable i guess.
Sivert Henriksen (sivert) wrote : | #47 |
Good news!
I can now confirm that the Oxygen 8 v2 also works!
What the solution is, I'm not sure of, but I'ts one of the following:
- I installed Ubuntu 8.04, and maybe it works out-of-the-box here
- Or, I followed the Ubuntu Studio Preparation guide and did following: "sudo su -c 'echo options snd-usb-audio index=-2 >> /etc/modprobe.
Someone might want to figure out which did it.
peter (register-tonhof) wrote : | #48 |
PJ, Thanks a lot for the script:
#!/bin/sh
fw=/usr/
bd=$( lsusb | grep Midisport | cut -d ' ' -f 2,4 | sed -e 's/ /\//' -e 's/://' )
dev=/dev/
echo fxload -I $fw -D $dev
fxload -I $fw -D $dev
it works fine for me , however I had to replace Midisport with Midiman, I guess this is because my Midisport is about 8 years old.
By the way , the modifications of the rules script as described by Padlarren (that is adding -D $env{DEVNAME} ) did not load the firmware for me, only the explicit call to fxload did that.
Thanks again
peter
carrasclin (fontanet9) wrote : | #49 |
With the latest firmware from the Hardy (8.04) repo it works OK without modifications on the scripts or any need in using the manual uploading script but the "/etc/fstab" configuration file needs to be fixed.
To do this you can type on a terminal:
echo "/dev/bus/usb/ /proc/bus/usb usbfs defaults 0 0"|sudo tee -a /etc/fstab
echo argument _needs_ quotes and pay attention at spaces.
or edit it with Alt+F2 >gksudo gedit >Open /etc/fstab and add a line with "/dev/bus/usb/ /proc/bus/usb usbfs defaults 0 0" without quotes and paying attention at spaces. It needs reboot or "sudo mount dev/bus/usb".
This is because the udev rules script uses device nodes mounted under "/proc/bus/usb" to upload firmware and Hardy only mounts the device nodes under "/dev/bus/usb". Former versions of Ubuntu and Debian mounted it on both.
Tito's (rcarrasco) wrote : | #50 |
I have a midiman 1x1.
lsusb:
Bus 002 Device 009: ID 0763:1010 Midiman Midisport 1x1
midiman don't wake up
How can trace udev ??
What about this in syslog ?
Jul 5 17:38:54 TitosLaptop kernel: [ 3415.075481] usb 2-3.3: new full speed USB device using ehci_hcd and address 9
Jul 5 17:38:54 TitosLaptop kernel: [ 3415.184187] usb 2-3.3: configuration #1 chosen from 1 choice
Jul 5 17:38:54 TitosLaptop NetworkManager: <debug> [1215293934.457728] nm_hal_
Jul 5 17:38:54 TitosLaptop NetworkManager: <debug> [1215293934.713743] nm_hal_
Jens Jensen (zerog2k) wrote : | #51 |
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/
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?
https:/
I seemed to fix it by editing the line in /etc/udev/
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.
Created an attachment (id=5529)
lsusb -v output for MidiSport 2x2 USB-MIDI interface.