Bjorn Helgaas wrote: > On Thu, Mar 7, 2013 at 6:47 PM, Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx> wrote: > > There are three cards on the table now: > > pci 0000:11:00.0: [1095:3132] SiI 3132 Serial ATA Raid II Controller > pci 0000:11:00.0: [1106:3403] VT6315 Series Firewire Controller > pci 0000:11:00.0: [1033:0194] NEC Corporation uPD720200 USB 3.0 Host > Controller > >> My question is. Has the laptop hardwired the ExpressCard slot somehow through USB >> to the SandyBridge chip? > > An ExpressCard slot (spec at [1]) supports both a PCIe interface and a > USB interface, so the slot *should* be connected to a USB controller > as well as to a PCIe root port. An ExpressCard can contain either a > PCIe device or a USB device or both. Section 6.3 of the spec talks > about ACPI requirements to describe the relationship between the PCIe > and USB devices. I'm not sure that Linux pays any attention to this > in the hotplug paths, so I'm a little worried about this. (Maybe it > doesn't need to in the PCIe-aware case; I don't know.) > > It would be interesting to know exactly what devices are on your > cards. Assuming they all work when present at boot, you could find > that by doing a single "lspci -vv" and "lsusb -v" after a boot with an > empty slot, and doing it again after a boot with a card in the slot. There is no USB device hidden in the eSATA card (SiI 3132) and lspci -vvvxxx does not reveal any other device either. I also failed to ind any hidden interface in the Firewire card (based on VIA VT6315) both using lspci -vvvxxx and lsusb -vv and comparing outputs gather upon coldplug with a card in a slot and an empty slot. I even compared to states with a hotplugged card. The only difference I would mention is that acpiphp vs. pciehp give: - Physical Slot: 1 + Physical Slot: 7 for whatever card is placed in the card slot. Sometimes there is a difference in - Latency: 0, Cache Line Size: 64 bytes + Latency: 0, Cache Line Size: 32 bytes - AERCap: First Error Pointer: 00, ... + AERCap: First Error Pointer: 14, ... > The difference should be the ExpressCard devices. I'm sure this is > buried in your tarball somewhere, but all I want is the info from a > machine in default configuration -- MediaCard enabled, etc. Just the > way a typical user would be using the machine. > > [1] http://www.usb.org/developers/expresscard/EC_specifications/ExpressCard_2_0_FINAL.pdf I tried to find some differences when I have Enabled (default) or Disables Media Card Reader in BIOS. Unfortunately I had also disabled Intel WIFI and Bluetooth via Fn+F2 (there is no BIOS entry for it so I forgot about the hotkey). The wifi can be seen in lsusb and lspci. The bluetooth ... I don't know, looks btusb driver is using it. The MediaCard Reader device appears only in lsusb. If I disable it in BIOS its port is left powered on. Below, one of the changes is the disabled wifi, the other is the card reader being gone. --- eSATA_inserted_coldboot/lsusb_vv_after_HDD_attached.txt 2013-03-11 18:12:05.000000000 +0100 +++ eSATA_hotplug_disabled_Media_card_reader/lsusb_vv.txt 2013-03-11 22:49:51.000000000 +0100 @@ -62,7 +62,7 @@ Port 1: 0000.0100 power Port 2: 0000.0100 power Port 3: 0000.0100 power - Port 4: 0000.0103 power enable connect + Port 4: 0000.0100 power Port 5: 0000.0503 highspeed power enable connect Port 6: 0000.0100 power Device Qualifier (for other device speed): @@ -142,7 +142,7 @@ Port 3: 0000.0103 power enable connect Port 4: 0000.0100 power Port 5: 0000.0100 power - Port 6: 0000.0503 highspeed power enable connect + Port 6: 0000.0100 power Port 7: 0000.0100 power Port 8: 0000.0100 power Device Qualifier (for other device speed): @@ -1568,76 +1318,7 @@ Device Status: 0x0000 (Bus Powered) -Bus 002 Device 005: ID 0bda:0138 Realtek Semiconductor Corp. RTS5138 Card Reader Controller -Device Descriptor: - bLength 18 - bDescriptorType 1 - bcdUSB 2.00 - bDeviceClass 0 (Defined at Interface level) - bDeviceSubClass 0 - bDeviceProtocol 0 - bMaxPacketSize0 64 - idVendor 0x0bda Realtek Semiconductor Corp. - idProduct 0x0138 RTS5138 Card Reader Controller - bcdDevice 38.82 - iManufacturer 1 Generic - iProduct 2 USB2.0-CRW - iSerial 3 20090516388200000 - bNumConfigurations 1 - Configuration Descriptor: - bLength 9 - bDescriptorType 2 - wTotalLength 32 - bNumInterfaces 1 - bConfigurationValue 1 - iConfiguration 4 CARD READER - bmAttributes 0xa0 - (Bus Powered) - Remote Wakeup - MaxPower 500mA - Interface Descriptor: - bLength 9 - bDescriptorType 4 - bInterfaceNumber 0 - bAlternateSetting 0 - bNumEndpoints 2 - bInterfaceClass 8 Mass Storage - bInterfaceSubClass 6 SCSI - bInterfaceProtocol 80 Bulk-Only - iInterface 5 Bulk-In, Bulk-Out, Interface - Endpoint Descriptor: - bLength 7 - bDescriptorType 5 - bEndpointAddress 0x01 EP 1 OUT - bmAttributes 2 - Transfer Type Bulk - Synch Type None - Usage Type Data - wMaxPacketSize 0x0200 1x 512 bytes - bInterval 0 - Endpoint Descriptor: - bLength 7 - bDescriptorType 5 - bEndpointAddress 0x82 EP 2 IN - bmAttributes 2 - Transfer Type Bulk - Synch Type None - Usage Type Data - wMaxPacketSize 0x0200 1x 512 bytes - bInterval 0 -Device Qualifier (for other device speed): - bLength 10 - bDescriptorType 6 - bcdUSB 2.00 - bDeviceClass 0 (Defined at Interface level) - bDeviceSubClass 0 - bDeviceProtocol 0 - bMaxPacketSize0 64 - bNumConfigurations 1 -Device Status: 0x0000 - (Bus Powered) - [cut] Looks that is all I could add to the whole story. Martin -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html