** Attachment added: "The test script from the bug description" https://bugs.launchpad.net/qemu/+bug/1603693/+attachment/4702121/+files/test-mptsas1068.sh
-- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1603693 Title: Disks in mptsas1068 scsi controller not seen by linux Status in QEMU: New Bug description: When using the mptsas1068 scsi controller, linux detects the controller itself but not the drives attached to it. Freebsd works. Using a different controller with linux works. VMware with linux works. qemu 2.6.50 (v2.6.0-1925-g6b92bbf) seabios rel-1.9.0-139-gae3f78f (master branch, required for mptsas1068 support) Test script, loosely based off what libvirt runs and the libvirt tests that Paolo Bonzini wrote [1] ##################### iso=archlinux-2016.07.01-dual.iso #iso=FreeBSD-10.3-RELEASE-amd64-bootonly.iso device=mptsas1068 #device=lsi img=empty.img qemu-img create -f qcow2 $img 1G /usr/bin/qemu-system-x86_64 \ -enable-kvm \ -m 1024 \ -boot menu=on \ -device $device,id=scsi0,bus=pci.0,addr=0x9 \ -drive file=$img,format=qcow2,if=none,id=drive-scsi0-0-0-0 \ -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2 \ -drive file=$iso,format=raw,if=none,id=drive-ide0-0-1,readonly=on \ -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1,bootindex=1 ##################### The ISOs can be downloaded from [2] and [3]. After booting linux, do "lsblk". /dev/sda should exist. After booting freebsd, do "geom disk list". A da0 / "QEMU QEMU HARDDISK" should be mentioned. With device=mptsas1068 this fails in linux. With device=lsi line it works in both. With VMWare and a linux VM (opensuse 10.1, kernel 2.6.18) which only loads modules for mptsas1068, this works. I also reproduced this with the debian 8.5 netinstall image, but it insists in making you pick a driver from a list of modules when it fails to mount it, instead of dropping to a shell. Arch linux dmesg output snippet (full output attached as arch-linux- dmesg.txt): ##################### root@archiso ~ # dmesg | grep -i -e mpt -e scsi -e ioc0 [ 0.000000] Linux version 4.6.3-1-ARCH (builduser@tobias) (gcc version 6.1.1 20160602 (GCC) ) #1 SMP PREEMPT Fri Jun 24 21:19:13 CEST 2016 [ 0.000000] Normal empty [ 0.000000] Preemptible hierarchical RCU implementation. [ 1.879616] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249) [ 1.951581] SCSI subsystem initialized [ 1.957113] Fusion MPT base driver 3.04.20 [ 1.957618] Fusion MPT SAS Host driver 3.04.20 [ 2.281773] scsi host0: ata_piix [ 2.285372] scsi host1: ata_piix [ 2.305803] mptbase: ioc0: Initiating bringup [ 2.363555] ioc0: LSISAS1068 A0: Capabilities={Initiator} [ 2.444390] scsi 0:0:1:0: CD-ROM QEMU QEMU DVD-ROM 2.5+ PQ: 0 ANSI: 5 [ 2.500572] scsi host2: ioc0: LSISAS1068 A0, FwRev=01329200h, Ports=8, MaxQ=128, IRQ=11 [ 2.507024] sr 0:0:1:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray [ 2.507274] sr 0:0:1:0: Attached scsi CD-ROM sr0 ##################### The controller itself is detected, the disk isn't. An early version of this patch [4] said that it was only tested with FreeBSD: >Tested with FreeBSD for now. The previous version (before the >configuration page rewrite) worked with RHEL and Windows guests as well. > >TODO: write qtest for (at least) config pages, test Linux and Windows. [1]: https://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=fc922eb2080a3fa7b24bc8a8b0aabfd394480143 [2]: https://www.archlinux.org/download [3]: https://www.freebsd.org/where.html [4]: https://lists.nongnu.org/archive/html/qemu-devel/2015-10/msg06475.html To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1603693/+subscriptions