[alsa-devel] MOTU Midi Express XT
I own a MOTU Midi Express XT 8x8 interface which is connected through the parallel port. Recently I upgraded my system and the new motherboard does not have an ISA parallel port anymore... So I bought a PCI parallel port extension card - hoping that it will work with the ALSA driver (mtpav). So I changed the interrupt an port address in modules.conf but the driver is no longer recognized as an ALSA driver even though it loads without errors. As the device still perfectly fits my needs I would like to modify the driver to get it working again. Can anyone give me advice what should be changed in the drivers code to make it work on a pci port?
Thanks
Holger
holger@dehnhardt.org wrote:
I own a MOTU Midi Express XT 8x8 interface which is connected through the parallel port. Recently I upgraded my system and the new motherboard does not have an ISA parallel port anymore... So I bought a PCI parallel port extension card
Does it happen to have a name? Is it compatible with the ISA parallel port?
Regards, Clemens
27. Oktober 2016 08:40 Uhr, "Clemens Ladisch" clemens@ladisch.de schrieb:
holger@dehnhardt.org wrote:
I own a MOTU Midi Express XT 8x8 interface which is connected through the parallel port. Recently I upgraded my system and the new motherboard does not have an ISA parallel port anymore... So I bought a PCI parallel port extension card
Does it happen to have a name?
Hmm, I did not now it could be card specific... I have to investigate tonight when I'm back home.
Is it compatible with the ISA parallel port?
Is this possible? An ISA compatible PCI card? I did not found anything like this when I was searching for it.
Holger
27. Oktober 2016 08:42 Uhr, "Clemens Ladisch" clemens@ladisch.de schrieb:
holger@dehnhardt.org wrote:
I own a MOTU Midi Express XT 8x8 interface which is connected through the parallel port. Recently I upgraded my system and the new motherboard does not have an ISA parallel port anymore... So I bought a PCI parallel port extension card
Does it happen to have a name? Is it compatible with the ISA parallel port?
Regards, Clemens
Ok, this is the lspci output for the card:
06:00.0 Parallel controller: MosChip Semiconductor Technology Ltd. Device 9900 (prog-if 03 [IEEE1284]) Subsystem: Device a000:2000 Flags: bus master, fast devsel, latency 0, IRQ 10 I/O ports at b010 [size=8] I/O ports at b000 [size=8] Memory at fe201000 (32-bit, non-prefetchable) [size=4K] Memory at fe200000 (32-bit, non-prefetchable) [size=4K] Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [78] Power Management version 3 Capabilities: [80] Express Legacy Endpoint, MSI 00 Capabilities: [100] Virtual Channel Capabilities: [800] Advanced Error Reporting
The card is the following: https://www.conrad.de/de/1-port-serielle-steckkarte-pcie-972542.html
Can such a card be compatible with an ISA-Port?
Holger
27. Oktober 2016 18:22 Uhr, holger@dehnhardt.org schrieb:
- Oktober 2016 08:42 Uhr, "Clemens Ladisch" clemens@ladisch.de schrieb:
holger@dehnhardt.org wrote:
I own a MOTU Midi Express XT 8x8 interface which is connected through the parallel port. Recently I upgraded my system and the new motherboard does not have an ISA parallel port anymore... So I bought a PCI parallel port extension card
Does it happen to have a name? Is it compatible with the ISA parallel port?
Regards, Clemens
Ok, this is the lspci output for the card:
06:00.0 Parallel controller: MosChip Semiconductor Technology Ltd. Device 9900 (prog-if 03 [IEEE1284]) Subsystem: Device a000:2000 Flags: bus master, fast devsel, latency 0, IRQ 10 I/O ports at b010 [size=8] I/O ports at b000 [size=8] Memory at fe201000 (32-bit, non-prefetchable) [size=4K] Memory at fe200000 (32-bit, non-prefetchable) [size=4K] Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [78] Power Management version 3 Capabilities: [80] Express Legacy Endpoint, MSI 00 Capabilities: [100] Virtual Channel Capabilities: [800] Advanced Error Reporting
The card is the following: https://www.conrad.de/de/1-port-serielle-steckkarte-pcie-972542.html
Can such a card be compatible with an ISA-Port?
Holger
I made a new observation. When loading the driver the PC-port LED blinks. At line 339 function snd_mtpav_portscan some bytes are send to the device. This seems to work - which means the communication between the PC and the device seems to work.
But why is the driver loaded but not registered?
Holger
27. Oktober 2016 18:22 Uhr, holger@dehnhardt.org schrieb:
- Oktober 2016 08:42 Uhr, "Clemens Ladisch" clemens@ladisch.de schrieb:
holger@dehnhardt.org wrote:
I own a MOTU Midi Express XT 8x8 interface which is connected through the parallel port. Recently I upgraded my system and the new motherboard does not have an ISA parallel port anymore... So I bought a PCI parallel port extension card
Does it happen to have a name? Is it compatible with the ISA parallel port?
Regards, Clemens
Ok, this is the lspci output for the card:
06:00.0 Parallel controller: MosChip Semiconductor Technology Ltd. Device 9900 (prog-if 03 [IEEE1284]) Subsystem: Device a000:2000 Flags: bus master, fast devsel, latency 0, IRQ 10 I/O ports at b010 [size=8] I/O ports at b000 [size=8] Memory at fe201000 (32-bit, non-prefetchable) [size=4K] Memory at fe200000 (32-bit, non-prefetchable) [size=4K] Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [78] Power Management version 3 Capabilities: [80] Express Legacy Endpoint, MSI 00 Capabilities: [100] Virtual Channel Capabilities: [800] Advanced Error Reporting
The card is the following: https://www.conrad.de/de/1-port-serielle-steckkarte-pcie-972542.html
Can such a card be compatible with an ISA-Port?
Holger
I made a new observation. When loading the driver the PC-port LED blinks. At line 339 function snd_mtpav_portscan some bytes are send to the device. This seems to work - which means the communication between the PC and the device seems to work.
But why is the driver loaded but not registered?
Holger
28. Oktober 2016 09:51 Uhr, holger@dehnhardt.org schrieb:
- Oktober 2016 18:22 Uhr, holger@dehnhardt.org schrieb:
- Oktober 2016 08:42 Uhr, "Clemens Ladisch" clemens@ladisch.de schrieb:
holger@dehnhardt.org wrote:
I own a MOTU Midi Express XT 8x8 interface which is connected through the parallel port. Recently I upgraded my system and the new motherboard does not have an ISA parallel port anymore... So I bought a PCI parallel port extension card
Does it happen to have a name? Is it compatible with the ISA parallel port?
Regards, Clemens
Ok, this is the lspci output for the card:
06:00.0 Parallel controller: MosChip Semiconductor Technology Ltd. Device 9900 (prog-if 03 [IEEE1284]) Subsystem: Device a000:2000 Flags: bus master, fast devsel, latency 0, IRQ 10 I/O ports at b010 [size=8] I/O ports at b000 [size=8] Memory at fe201000 (32-bit, non-prefetchable) [size=4K] Memory at fe200000 (32-bit, non-prefetchable) [size=4K] Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [78] Power Management version 3 Capabilities: [80] Express Legacy Endpoint, MSI 00 Capabilities: [100] Virtual Channel Capabilities: [800] Advanced Error Reporting
The card is the following: https://www.conrad.de/de/1-port-serielle-steckkarte-pcie-972542.html
Can such a card be compatible with an ISA-Port?
Holger
I made a new observation. When loading the driver the PC-port LED blinks. At line 339 function snd_mtpav_portscan some bytes are send to the device. This seems to work - which means the communication between the PC and the device seems to work.
But why is the driver loaded but not registered?
Holger _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
As the driver is loaded and gives no error while loading, is there a way to investigate, why no alsa device is shown? Can I provide some more useful information?
Holger
29. Oktober 2016 19:28 Uhr, "Clemens Ladisch" clemens@ladisch.de schrieb:
holger@dehnhardt.org wrote:
As the driver is loaded and gives no error while loading, is there a way to investigate, why no alsa device is shown?
Is there any message in the system log?
Yes:
Motu MidiTimePiece on parallel port irq: 10 ioport: 0xb010
That's all - not very verbose, or?
aplay -l shows
**** Liste der Hardware-Geräte (PLAYBACK) **** Karte 0: SB [HDA ATI SB], Gerät 0: ALC892 Analog [ALC892 Analog] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 0: SB [HDA ATI SB], Gerät 1: ALC892 Digital [ALC892 Digital] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 1: NVidia [HDA NVidia], Gerät 3: HDMI 0 [HDMI 0] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 1: NVidia [HDA NVidia], Gerät 7: HDMI 0 [HDMI 0] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 1: NVidia [HDA NVidia], Gerät 8: HDMI 0 [HDMI 0] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 1: NVidia [HDA NVidia], Gerät 9: HDMI 0 [HDMI 0] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 2: M44 [M Audio Delta 44], Gerät 0: ICE1712 multi [ICE1712 multi] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0
Holger
29. Oktober 2016 21:28 Uhr, holger@dehnhardt.org schrieb:
- Oktober 2016 19:28 Uhr, "Clemens Ladisch" clemens@ladisch.de schrieb:
holger@dehnhardt.org wrote:
As the driver is loaded and gives no error while loading, is there a way to investigate, why no alsa device is shown?
Is there any message in the system log?
Yes:
Motu MidiTimePiece on parallel port irq: 10 ioport: 0xb010
That's all - not very verbose, or?
aplay -l shows
**** Liste der Hardware-Geräte (PLAYBACK) **** Karte 0: SB [HDA ATI SB], Gerät 0: ALC892 Analog [ALC892 Analog] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 0: SB [HDA ATI SB], Gerät 1: ALC892 Digital [ALC892 Digital] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 1: NVidia [HDA NVidia], Gerät 3: HDMI 0 [HDMI 0] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 1: NVidia [HDA NVidia], Gerät 7: HDMI 0 [HDMI 0] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 1: NVidia [HDA NVidia], Gerät 8: HDMI 0 [HDMI 0] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 1: NVidia [HDA NVidia], Gerät 9: HDMI 0 [HDMI 0] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 2: M44 [M Audio Delta 44], Gerät 0: ICE1712 multi [ICE1712 multi] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0
Holger _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
one more test:
I added a print statement to to __init function (see the code and arrow -> below). It initialises without error.
static int __init alsa_card_mtpav_init(void) { int err;
if ((err = platform_driver_register(&snd_mtpav_driver)) < 0) return err;
device = platform_device_register_simple(SND_MTPAV_DRIVER, -1, NULL, 0); if (!IS_ERR(device)) { if (platform_get_drvdata(device)){ -> printk(KERN_INFO "ALSA init ok\n"); return 0; } platform_device_unregister(device); err = -ENODEV; } else err = PTR_ERR(device); platform_driver_unregister(&snd_mtpav_driver); printk(KERN_INFO "ALSA init with return code %d\n", err); return err; }
Shouldn't I find the driver afterwards?
holger@dehnhardt.org wrote:
- Oktober 2016 21:28 Uhr, holger@dehnhardt.org schrieb:
- Oktober 2016 19:28 Uhr, "Clemens Ladisch" clemens@ladisch.de schrieb:
Is there any message in the system log?
Motu MidiTimePiece on parallel port irq: 10 ioport: 0xb010
In theory, this indicates that the driver has been initialized correctly. But it doesn't actually check if the device is there.
A PCI device needs to be enabled before it can be used, and this driver does not know about PCI.
The partport-serial driver gets loaded, doesn't it?
I added a print statement to to __init function (see the code and arrow -> below). It initialises without error.
static int __init alsa_card_mtpav_init(void)
The actual device initialization is in snd_mptav_probe().
Regards, Clemens
Thanks for answering, Clemens. Comments are inline.
In theory, this indicates that the driver has been initialized correctly. But it doesn't actually check if the device is there.
A PCI device needs to be enabled before it can be used, and this driver does not know about PCI.
It looks like the driver does not care about that.
The partport-serial driver gets loaded, doesn't it?
It can be loaded but is not loaded by default as mtpav does not work if any other parport driver is loaded.
I added a print statement to to __init function (see the code and arrow -> below). It initialises without error.
static int __init alsa_card_mtpav_init(void)
The actual device initialization is in snd_mptav_probe().
Ok, this is where the default message: "Motu MidiTimePiece on parallel port irq: %d ioport: 0x%lx\n" is written from. So there is no error too.
BTW: lsmod |grep snd_mtpav shows, that it is using snd_rawmidi...
snd_mtpav 16384 0 snd_rawmidi 32768 2 snd_mtpav,snd_seq_midi snd 81920 5 snd_mtpav,snd_timer,snd_seq,snd_rawmidi,snd_seq_device
Was there a recent api change? More and more it looks like there is a problem with registering the driver / the port to the ALSA system.
Holger
participants (2)
-
Clemens Ladisch
-
holger@dehnhardt.org