Hello,
I use an Midisport 1x1 with the midisport-firmware package in Ubuntustudio 9.10.
I'm sending an MTC-Signal (from an Harddisc-Recorder) into the midisport (IN-Led shines) but I can't see the signal with kmidimon. It works fine for all other Midi messages (like notes from a Keyboard) and when I skip or press "jump back to zero" at the Harddisc-Recorder I get an MTC Full Message. It's only a problem with the MTC-Short-Messages.
I tested the midisport device in Windows and there it worked for the MTC-Signal.
I would be very happy if someone could help me.
Greetings from Germany
Marcel
Please check message reception with "amidi --dump" or aseqdump.
View and moderate all "support-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Support Requests"
First of all, thanks for your answer.
I checked it with aseqdump with the same results mentioned above.
With amidi --dump I get the following results while playing back:
marcel@brain:~$ amidi --port=hw:1,0,0 -a --dump
99 40
F1
99 50
F1
99 60
F1
99 76
F1
99 00
F1
99 10
F1
99 20
F1
and so on. Is this an MTC Short Message like it should be?
Greeting
Marcel
F1 would be a valid MTC quarter frame message if it had a data byte, and a 9x note-on message would require two data bytes. Apparently, the protocol that the MidiSport uses for system messages is different from what the driver expects.
Please uncomment the "#define DUMP_PACKETS" in line 61 of linux/sound/usb/usbmidi.c and recompile the driver. This will log all USB packets into the system log; please show me a few of those lines.
View and moderate all "support-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Support Requests"
I'm sorry, I really tried but I can't find usbmidi.c:
marcel@brain:/lib/modules/2.6.31-9-rt/kernel/sound/usb$ ls
caiaq snd-usb-audio.ko snd-usb-lib.ko usx2y
Or am I searching at the wrong place. I installed the midisport-firmware package from the official Official Ubuntu-Multiverse Sources.
That file would be part of the kernel source.
To recompile not the entire kernel but only the sound drivers, do the following:
1) Make sure the kernel-headers package is installed;
1) download the latest alsa-driver package, and unpack it;
2) modify the file (now in alsa-kernel/sound/usb/);
3) configure
4) make
5) sudo make install-modules
6) reboot.
The log messages should appear in /var/log/debug.
It took me a while, but finally I made it.
Here is a short part of the log file from the moment I pressed the play button until I hit stop.
Mar 11 17:02:08 brain kernel: [ 3470.505082] ALSA usbmidi.c:236: received packet: [ 09 99 32 f0 ]
Mar 11 17:02:08 brain kernel: [ 3470.505096] ALSA usbmidi.c:236: received packet: [ 09 99 7f 7f ]
Mar 11 17:02:08 brain kernel: [ 3470.507075] ALSA usbmidi.c:236: received packet: [ 09 99 01 01 ]
Mar 11 17:02:08 brain kernel: [ 3470.507081] ALSA usbmidi.c:236: received packet: [ 09 99 60 00 ]
Mar 11 17:02:08 brain kernel: [ 3470.507088] ALSA usbmidi.c:236: received packet: [ 09 99 1d 0f ]
.
.
.
Mar 11 17:04:35 brain kernel: [ 3617.258966] ALSA usbmidi.c:236: received packet: [ 09 99 7f 7f ]
Mar 11 17:04:35 brain kernel: [ 3617.260945] ALSA usbmidi.c:236: received packet: [ 09 99 01 01 ]
Mar 11 17:04:35 brain kernel: [ 3617.260953] ALSA usbmidi.c:236: received packet: [ 09 99 60 00 ]
Mar 11 17:04:35 brain kernel: [ 3617.260959] ALSA usbmidi.c:236: received packet: [ 09 99 21 0f ]
I don't know if it matters but this is one of the MTC-Full-Messages received while jumping to a marker.
Mar 11 17:04:45 brain kernel: [ 3627.035076] ALSA usbmidi.c:236: received packet: [ 04 f0 7f 7f 04 01 01 60 04 01 2f 13 05 f7 00 00 ]
Those are just note-on messages; please show some data with short MTC messages.
View and moderate all "support-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Support Requests"
There is no other data. I get 120 of such messages per second, means 4 messages per frame like it should be for short MTC-messages I thought. What should it look like?
A correct MTC quarter frame message would look like [ 02 F1 xx 00 ].
Your device doesn't need the midisport-firmware package; it's a later revision that should be class compliant, but has problems with certain messages. It seems that are some bugs that the driver does not yet work around.
Is the message at 3470.505082 the very first received packet?
Did the device come with a separate driver?
It was the first received packet and there is a seperate driver for windows, but you only need it when you use more then one device at a time. But the situation changed a bit and I'm really confused now. I tested the device again and this time I get this (beginning with the first message I received after pressing the play button):
Mar 12 17:42:29 brain kernel: [ 1408.039784] ALSA usbmidi.c:236:
received packet: [ 09 90 30 f1 ]
Mar 12 17:42:29 brain kernel: [ 1408.046774] ALSA usbmidi.c:236:
received packet: [ 09 90 40 f1 ]
Mar 12 17:42:29 brain kernel: [ 1408.054769] ALSA usbmidi.c:236:
received packet: [ 09 90 50 f1 ]
Mar 12 17:42:29 brain kernel: [ 1408.062775] ALSA usbmidi.c:236:
received packet: [ 09 90 60 f1 ]
all messages with an f1 at the end. So I tried it again in windows and I get the same "wrong" messages.
The Windows log:
TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
0002A88E 1 1 90 40 F1 1 E 4 Note On
0002A896 1 1 90 50 F1 1 G# 5 Note On
0002A89E 1 1 90 60 F1 1 C 7 Note On
0002A8A8 1 1 90 76 F1 1 Bb 8 Note On
I checked the Messages I posted yesterday again and they also had f1 at the end, except the first and the last 4 which I posted. HaHa.
I wanted to try it with another MTC-source so I routed a signal to the midisport OUT, took a midi cable and connected OUT with IN. The messages are sent (logfile and OUT-Led is allright) but I didn't receive any messages (no IN-Led shining and nothing in the log file). This setup works fine for other Messages from ardour like this
Mar 12 18:45:09 brain kernel: [ 2834.927997] ALSA usbmidi.c:236: sending packet: [ 04 f0 7f 7f 04 01 01 60 04 00 00 00 05 f7 00 00 ]
Mar 12 18:45:09 brain kernel: [ 2834.932636] ALSA usbmidi.c:236: received packet: [ 04 f0 7f 7f 04 01 01 60 04 00 00 00 05 f7 00 00 ]
and messages from a virtual midi keyboard. Is this normal behavior?
I also contacted the Tascam support and asked them if they know about such problems and if there is an opportunity to make a firmware update.
Apparently, in those earlier messages, some bytes of a SysEx message got mixed up with the data.
Please send the attached file with amidi through the loopback cable and show all messages.
midi messages
View and moderate all "support-requests Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Support Requests"
Mar 16 13:04:04 brain kernel: [ 574.730965] ALSA usbmidi.c:236: sending packet: [ 0d d0 11 00 02 f1 22 00 0d d0 33 00 02 f1 44 00 0d d0 55 00 0d d0 66 00 03 f2 71 72 0d d0 00 00 03 f2 73 74 03 f2 75 76 0d d0 11 00 02 f3 22 00 0d d0 33 00 05 f6 00 00 0d d0 44 00 0f f8 00 00 ]
Mar 16 13:04:04 brain kernel: [ 574.731072] ALSA usbmidi.c:236: sending packet: [ 0d d0 55 00 0f f9 00 00 0d d0 66 00 0f fa 00 00 0d d0 77 00 0f fb 00 00 0d d0 00 00 0f fc 00 00 0d d0 11 00 0f ff 00 00 0d d0 22 00 08 80 12 34 08 80 56 78 04 f0 33 44 05 f7 00 00 ]
Mar 16 13:04:04 brain kernel: [ 574.731319] ALSA usbmidi.c:236: sending packet: [ 0f fe 00 00 ]
Mar 16 13:04:04 brain kernel: [ 574.733202] ALSA usbmidi.c:236: received packet: [ 0d d0 11 00 ]
Mar 16 13:04:04 brain kernel: [ 574.733224] ALSA usbmidi.c:236: received packet: [ 0d d0 33 00 ]
Mar 16 13:04:04 brain kernel: [ 574.734204] ALSA usbmidi.c:236: received packet: [ 0d d0 55 00 ]
Mar 16 13:04:04 brain kernel: [ 574.734223] ALSA usbmidi.c:236: received packet: [ 0d d0 66 00 ]
Mar 16 13:04:04 brain kernel: [ 574.735197] ALSA usbmidi.c:236: received packet: [ 0d d0 00 00 ]
Mar 16 13:04:04 brain kernel: [ 574.736207] ALSA usbmidi.c:236: received packet: [ 0d d0 11 00 ]
Mar 16 13:04:04 brain kernel: [ 574.736226] ALSA usbmidi.c:236: received packet: [ 0d d0 33 00 ]
Mar 16 13:04:04 brain kernel: [ 574.737202] ALSA usbmidi.c:236: received packet: [ 0d d0 44 00 ]
Mar 16 13:04:04 brain kernel: [ 574.738198] ALSA usbmidi.c:236: received packet: [ 0d d0 55 00 ]
Mar 16 13:04:04 brain kernel: [ 574.739201] ALSA usbmidi.c:236: received packet: [ 0d d0 66 00 ]
Mar 16 13:04:04 brain kernel: [ 574.740201] ALSA usbmidi.c:236: received packet: [ 0d d0 77 00 ]
Mar 16 13:04:04 brain kernel: [ 574.741194] ALSA usbmidi.c:236: received packet: [ 0d d0 00 00 ]
Mar 16 13:04:04 brain kernel: [ 574.742198] ALSA usbmidi.c:236: received packet: [ 0d d0 11 00 ]
Mar 16 13:04:04 brain kernel: [ 574.743196] ALSA usbmidi.c:236: received packet: [ 0d d0 22 00 ]
Mar 16 13:04:04 brain kernel: [ 574.744195] ALSA usbmidi.c:236: received packet: [ 08 80 12 34 ]
Mar 16 13:04:04 brain kernel: [ 574.745196] ALSA usbmidi.c:236: received packet: [ 08 80 56 78 ]
Mar 16 13:04:04 brain kernel: [ 574.746176] ALSA usbmidi.c:236: received packet: [ 04 f0 33 44 05 f7 00 00 ]
None of the system messages (except the SysEx) got through. Apparently, the output port handling is horribly buggy, too.
Loopback testing isn't possible with this device; one would need another MIDI interface that actually works.
Anyway, I'll add a workaround to the driver so that at least MTC quarter frame messages are detected.
This is the WindowsXP Logfile, maybe this will help, I don't understand it:
Output-Monitor:
TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
000685F5 MOX 2 F0 Buffer: 59 Bytes System Exclusive
SYSX: D0 11 F1 22 D0 33 F1 44 D0 55 D0 66 F2 71 72 D0 00 F2
SYSX: 73 74 F2 75 76 D0 11 F3 22 D0 33 F6 D0 44 F8 D0 55 F9
SYSX: D0 66 FA D0 77 FB D0 00 FC D0 11 FF D0 22 80 12 34 56
SYSX: 78 F0 33 44 F7
Input-Monitor:
TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
0001F2EF 1 -- D0 11 -- 1 --- Channel Aft
0001F2F0 1 -- D0 33 -- 1 --- Channel Aft
0001F2F1 1 -- D0 55 -- 1 --- Channel Aft
0001F2F2 1 -- D0 66 -- 1 --- Channel Aft
0001F2F3 1 -- D0 00 -- 1 --- Channel Aft
0001F2F4 1 -- D0 11 -- 1 --- Channel Aft
0001F2F5 1 -- D0 33 -- 1 --- Channel Aft
0001F2F6 1 -- D0 44 -- 1 --- Channel Aft
0001F2F7 1 -- D0 55 -- 1 --- Channel Aft
0001F2F8 1 -- D0 66 -- 1 --- Channel Aft
0001F2F9 1 -- D0 77 -- 1 --- Channel Aft
0001F2FA 1 -- D0 00 -- 1 --- Channel Aft
0001F2FB 1 -- D0 11 -- 1 --- Channel Aft
0001F2FC 1 -- D0 22 -- 1 --- Channel Aft
0001F2FD 1 -- 80 12 34 1 F# 0 Note Off
0001F2FE 1 -- 80 56 78 1 D 6 Note Off
0001F2FF 1 -- F0 Buffer: 4 Bytes System Exclusive
SYSX: F0 33 44 F7