Jump to content


Photo

midi keyboard not supported in kernel


  • Please log in to reply
10 replies to this topic

#1 jim

jim

    Advanced Member

  • Administrators
  • 3,385 posts

Posted 12 February 2015 - 09:05 PM

I have a Arturia midi keyboard connected to the USB port on a pcduino:
http://www.arturia.c.../APE/intro.html

The software I want to use is PureData (pd-extended in case anyone has experience in that). The error in software is "Couldn't open alsa  sequencer

The pcDuino doesn't seem to support the midi sequencer. It seems that it is not supported in de kernel. I found that BeagleBoard had the same problem thatwas patched (config file changed) and needed to rebuild the kernel, see:
http://osdir.com/ml/...4/msg00451.html

This lookes rather difficult for me and I was wondering if there is a way to fix this on pcDuino?

Output on the terminal:

puredata@puredata:~$ lsmod
Module                  Size  Used by
sw_interrupt            2424  0 
gpio                    4509  0 
pwm                     5050  0 
adc                     1671  0 
hardwarelib             1551  4 sw_interrupt,gpio,pwm,adc
rt5370sta             616973  0 
8192cu                537008  0 
mali_drm                2087  1 
drm                   156992  2 mali_drm
mali                   91210  0 
disp_ump                 823  0 
ump                    43938  4 mali,disp_ump
puredata@puredata:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 2: sun4isndhdmi [sun4i-sndhdmi], device 0: SUN4I-HDMIAUDIO sndhdmi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
puredata@puredata:~$ amidi -l
Dir Device    Name
IO  hw:0,0,0  Analog Experience - The Player 
puredata@puredata:~$ lsusb
Bus 002 Device 002: ID 1c75:0202  
Bus 003 Device 006: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 007: ID 046d:c050 Logitech, Inc. RX 250 Optical Mouse
Bus 003 Device 008: ID 046d:c31d Logitech, Inc. Media Keyboard K200
puredata@puredata:~$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=sw-ohci/1p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=sw-ehci/1p, 480M
    |__ Port 1: Dev 6, If 0, Class=hub, Driver=hub/4p, 480M
        |__ Port 2: Dev 7, If 0, Class=HID, Driver=usbhid, 1.5M
        |__ Port 3: Dev 8, If 0, Class=HID, Driver=usbhid, 1.5M
        |__ Port 3: Dev 8, If 1, Class=HID, Driver=usbhid, 1.5M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=sw-ohci/1p, 12M
    |__ Port 1: Dev 2, If 0, Class=audio, Driver=snd-usb-audio, 12M
    |__ Port 1: Dev 2, If 1, Class=audio, Driver=snd-usb-audio, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=sw-ehci/1p, 480M
puredata@puredata:~$ 

As far as I know at tested on a Ubuntu server lsmod should return snd_seq for the midi keyboard like:

puredata@puredata:~$ lsmod
Module                  Size  Used by
snd_usb_audio         105599  0 
snd_pcm                89104  1 snd_usb_audio
snd_page_alloc          8620  1 snd_pcm
snd_hwdep               6660  1 snd_usb_audio
snd_usbmidi_lib        21345  1 snd_usb_audio
snd_seq_midi            5932  0 
snd_rawmidi            22239  2 snd_usbmidi_lib,snd_seq_midi
snd_seq_midi_event      7291  1 snd_seq_midi
snd_seq                57608  2 snd_seq_midi,snd_seq_midi_event
snd_timer              23850  2 snd_pcm,snd_seq
snd_seq_device          6912  3 snd_seq_midi,snd_rawmidi,snd_seq
snd                    64277  8 snd_usb_audio,snd_pcm,snd_hwdep,snd_usbmidi_lib,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore               1240  1 snd


#2 jim

jim

    Advanced Member

  • Administrators
  • 3,385 posts

Posted 12 February 2015 - 09:05 PM

I tried this compiling of the driver you told me like in http://www.pcduino.com/?p=1327 but I dont know where to find the drivers to use and how to make the change permanent. I now follow this http://www.pcduino.com/?p=957. Installing a 32-bit ubuntu server now.

Maybe you would like to clarify the first method on how to find and compile a sequencer midi driver.



#3 jim

jim

    Advanced Member

  • Administrators
  • 3,385 posts

Posted 12 February 2015 - 09:06 PM

I need some help to solve this. I could not find the midi support while using the ncurses

make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

So i edited the configuration file kernel/patch/linux-sunxi/arch/arm/configs/sun4i_defconfig manually with:

# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=y
# CONFIG_SOUND_OSS_CORE is not set
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
# CONFIG_SND_SEQUENCER_OSS is not set
CONFIG_SND_HRTIMER=m
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
#CONFIG_SND_DYNAMIC_MINORS is not set
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_RAWMIDI_SEQ=m
# CONFIG_SND_OPL3_LIB_SEQ is not set
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set

Now the pcduino would not boot (no display) with debug output: 

HELLO! BOOT0 is starting!
boot0 version : 1.5.0
dram size =1024
Succeed in opening nand flash.
Succeed in reading Boot1 file head.
The size of Boot1 is 0x00056000.
The file stored in 0X00000000 of block 2 is perfect.
Check is correct.
Ready to disable icache.
Succeed in loading Boot1.
Jump to Boot1.
[       0.179] boot1 version : 1.5.0
[       0.179] pmu type = 3
[       0.180] bat vol = 0
[       0.212] axi:ahb:apb=3:2:2
[       0.212] set dcdc2=1400, clock=1008 successed
[       0.214] key
[       0.227] no key found
[       0.227] flash init start
[       0.239] flash init finish
[       0.241] fs init ok
[       0.242] fattype FAT16
[       0.242] fs mount ok
[       0.248] script finish
[       0.249] power finish
[       0.258] BootMain start
[       0.258] 0
[       0.273] usbdc_vol = 4000, usbdc_cur = 0
[       0.273] usbpc_vol = 4000, usbpc_cur = 0
[       0.276] init to usb pc
[       0.279] set pc
[       0.306] WRN:L777(de_bsp/de/disp_clk.c):Can't assign PLL for screen0, pll_clk:-1
[       0.308] power_start=0x00000002
[       0.311] pre sys mode
[       0.314] startup status = -1
[       0.317] key value = 0
[       0.320] recovery key high 6, low 4
[       0.323] unable to find fastboot_key key_max value
[       0.331] test for multi os boot with display
[       0.333] logo name is invalid or dont need show logo
[       0.338] load kernel start
[       0.359] load kernel successed
[       0.359] start address = 0x4a000000
[       0.361] power exit detect
[       0.364] usb exit

U-Boot 2011.09-rc1-00000-ga044d4f (Mar 18 2013 - 20:14:23) Allwinner Technology

CPU:   SUNXI Family
Board: A10-EVB
DRAM:  1 GiB
boot type: 2
NAND:  1900 MiB
MMC:   SUNXI SD/MMC: 0
In:    serial
Out:   serial
Err:   serial
--------fastboot partitions--------
-total partitions:5-
-name-        -start-       -size-
bootloader  : 100000        2000000
env         : 2100000       200000
boot        : 2300000       1000000
rootfs      : 3300000       70800000
UDISK       : 73b00000      3100000
-----------------------------------
no misc partition is found
Hit any key to stop autoboot:  0
reading script.bin

44608 bytes read
reading uImage

6240744 bytes read
## Booting kernel from Legacy Image at 48000000 ...
   Image Name:   Linux-3.4.29+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6240680 Bytes = 6 MiB
   Load Address: 40008000
   Entry Point:  40008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

I already restored the system. Can someone explain to me what is being done wrong?



#4 jim

jim

    Advanced Member

  • Administrators
  • 3,385 posts

Posted 12 February 2015 - 09:06 PM

that is your cross_compile problem.you must delete cross_compile which you used .
and type:
sudo apt-get install g++-arm-linux-gnueabihf
you will solve the problem while the new uImage



#5 jim

jim

    Advanced Member

  • Administrators
  • 3,385 posts

Posted 12 February 2015 - 09:06 PM

With the new compiler and new kernel with the posted config the pcduino boots again but when connecting the midi keyboard it still will not list the snd_seq drivers with lsmod and the error remains "couldn't open alsa sequencer"



#6 jim

jim

    Advanced Member

  • Administrators
  • 3,385 posts

Posted 12 February 2015 - 09:06 PM

Is the driver compiled with the make command or do i need to have some extra files copied?



#7 jim

jim

    Advanced Member

  • Administrators
  • 3,385 posts

Posted 12 February 2015 - 09:06 PM

http://www.pcduino.com/?p=1327 just a tutorials.you should put  midi keyboard  driver in kernel and compiled



#8 jim

jim

    Advanced Member

  • Administrators
  • 3,385 posts

Posted 12 February 2015 - 09:06 PM

the keyboard does not have a linux driver and i dont have source code for it to compile. But on Ubuntu the midi keyboards works on the snd_seq ect like posted in my first post. I only want to copy that, where can i download or copy it from? The compiler doesnt show errors so you should think it has all essentials
modify_inline.gif
 
 


#9 jim

jim

    Advanced Member

  • Administrators
  • 3,385 posts

Posted 12 February 2015 - 09:06 PM

Hi Jaap,
I saw the kernel,
$make linuc-config
Device Drivers  --->
 Input device support  --->
             

  •    Keyboards  --->

                           <*>   AT keyboard
At recent, pcDuino only supports AT keyboard, you need config kernel for your keyboard.



#10 jim

jim

    Advanced Member

  • Administrators
  • 3,385 posts

Posted 12 February 2015 - 09:07 PM

Sounds like a keyboard input device not like a midi keyboard but i will look in to it



#11 jim

jim

    Advanced Member

  • Administrators
  • 3,385 posts

Posted 12 February 2015 - 09:07 PM

There are no midi keyboards in linux-config, like i told i adapted the config manualy but do i need to copy files or something? The whole thing is a little vague to me. It seems it is not that easy as just install a driver. The kernel needs to be extended to support midi... Hope someone can clarify this subject. On Beagleboard it seems easier because somebody already compiled a kernel for it. My kernels compiles are not solving the problem like i thought.






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users