USB error in qemu-system-arm [RaspberryPi test]

Install Arch Linux ARM on other devices.

USB error in qemu-system-arm [RaspberryPi test]

Postby PegLeg » Sun Jan 08, 2012 4:34 pm

I'm interested in the raspberry Pi as a a home brew audio server, a cheap man's “ALIX + Voyage MPD”. I'd want to connect my USB DAC to it.

Having read about QEMU I thought it wouldn't be too hard for me to set up an ARM emulation (not exactly the Pi hardware but near enough for a simple test) running ArchLinux ARM and connect my external USB DAC to it.

I'm not ( a coder or advanced Linux user) but there's enough info on the web to get the latest QEMU complied for my host, and then patch and cross-compile a kernel for ARM with the necessary sound modules.

Code: Select all
qemu-system-arm --version
QEMU emulator version 1.0.50, Copyright (c) 2003-2008 Fabrice Bellard


I contacted Pepedog at the Raspberry Pi forum and he was kind enough to repost this rootfs:

http://myplugbox.com/rprootfs.tar.gz

After merging the compiled modules with this rprootfs, I used this command to boot the emulation.

qemu-system-arm -M versatilepb -cpu arm1176 -m 256 -kernel zImage -hda archfs -append "root=/dev/sda" -usb -device usb-host,hostbus=3,hostaddr=2

(Clearly, I need to learn about sd cards. )

It seems to run OK, and only needed pacman -Sy and pacman -S alsa-utils to get to the point where I could test playback of a wav file, which I transferred to guest from host via scp.

Code: Select all
aplay -D hw:0,0 test.wav
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
aplay: set_params:1123: Unable to install hw params:
ACCESS:  RW_INTERLEAVED
FORMAT:  S16_LE
SUBFORMAT:  STD
SAMPLE_BITS: 16
FRAME_BITS: 32
CHANNELS: 2
RATE: 44100
PERIOD_TIME: (125011 125012)
PERIOD_SIZE: 5513
PERIOD_BYTES: 22052
PERIODS: (3 4)
BUFFER_TIME: 500000
BUFFER_SIZE: 22050
BUFFER_BYTES: 88200
TICK_TIME: 0


But it fails with an “usb_set_interface” error.

Code: Select all
dmesg | grep usb
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: OHCI Host Controller
usb usb1: Manufacturer: Linux 3.0.4 ohci_hcd
usb usb1: SerialNumber: 0000:00:0c.0
usbcore: registered new interface driver uas
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usb 1-1: new full speed USB device number 2 using ohci_hcd
usb 1-1: New USB device found, idVendor=08bb, idProduct=2902
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1: Product: USB Audio CODEC
usb 1-1: Manufacturer: Burr-Brown from TI             
generic-usb 0003:08BB:2902.0001: timeout initializing reports
input: Burr-Brown from TI               USB Audio CODEC  as /devices/pci0000:00/0000:00:0c.0/usb1/1-1/1-1:1.3/input/input2
generic-usb 0003:08BB:2902.0001: input,hidraw0: USB HID v1.00 Device [Burr-Brown from TI               USB Audio CODEC ] on usb-0000:00:0c.0-1/input3
usbcore: registered new interface driver snd-usb-audio
2:1:1: usb_set_interface failed



As I have got an i386 QEMU emulation to playback sound via my USB DAC perfectly well, I'm thinking perhaps this is a QEMU bug.

Has anyone else tried this sort of thing and succeeded?

My kernel config is here:

http://pastebin.com/73EnQ97F
PegLeg
 
Posts: 1
Joined: Sun Jan 08, 2012 3:04 pm

Re: USB error in qemu-system-arm [RaspberryPi test]

Postby WarheadsSE » Sun Jan 08, 2012 5:15 pm

I will dig, but I think I ran into this same segmentation fault when trying to use Moachad with my X10 setup from my GoFlex Net.
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm


Return to [Please read announcement] Community-Supported Devices

Who is online

Users browsing this forum: No registered users and 2 guests