VirtualBox + ATAPICAM + passthrough = zero length DMA transfer

Dmitry Pryanishnikov lynx.ripe at gmail.com
Tue Aug 24 17:19:02 UTC 2010


Hello!

  I'm trying to use ATAPI passthrough mode of the VirtualBox host
DVD-RW drive attachment. Host: fresh RELENG_8 (csup 2010-08-23), arch
is amd64, VirtualBox is installed from ports: virtualbox-ose-3.2.8 +
virtualbox-ose-kmod-3.2.8.
Guest OS is a WinXP 32bit (Home Edition). On the host DVD-RW drives
are attached via atapicam, controller is Intel ICH7:

atapci3: <Intel ICH7 SATA300 controller>
..
ata9: <ATA channel 2> on atapci3
ata10: <ATA channel 3> on atapci3
..
cd0 at ata9 bus 0 scbus2 target 0 lun 0
cd0: <PIONEER DVD-RW  DVR-215D 1.22>
cd1 at ata10 bus 0 scbus3 target 0 lun 0
cd1: <ASUS DRW-20B1LT 1.01>

Once I make {cd,xpt,pass}* devices writable by the vboxusers group,
VirtualBox sees both drives. When I assign each of them to WinXP guest
in normal (w/o passthrough) mode, DVDs are readable from the guest OS.
But once I set "Passthrough" box in the VB storage attachment dialog,
I'm getting the following error's from the host OS kernel:

Aug 24 19:52:46 lynx kernel: ata9: FAILURE - zero length DMA transfer attempted
Aug 24 19:52:46 lynx kernel: ata9: setting up DMA failed

and the guest OS reports I/O error while accessing device.

  Is it known problem/limitation? I can't find related PRs on this issue...

-- 
Sincerely, Dmitry
nic-hdl: LYNX-RIPE


More information about the freebsd-emulation mailing list