I have a working EHCI-driver, that can read files from FAT32 on a Dell D820 (maybe it was manufactured in 2008).
I bought a Dell Inspiron 5559 in august this year.
The problem is that according to its datasheet (the new Dell), it has one USB3.0 and two USB2.0 ports, so I thought that there were one xHCI and one EHCI controllers in this laptop.
The lspci(see below) on Linux shows only one USB controller: an xHCI.
It seems that the xHCI controller exposes its EHCI-interface. The USB-enumeration found nothing with my EHCI-driver.
I tried to simply change USB-type in the detection/enumeration process of my EHCI driver (check for 0x30(xHCI) instead of 0x20(EHCI) in the Prog-IF of PCI-config-space), but it didn't work (endless loop!?).
I have only run through the xHCI-chapters in Ben Lunt's USB book so far, but I suspect that I have to write the xHCI-driver in order to have USB-support in my OS on this laptop because EHCI doesn't seem to work.
I followed closely Ben's book and source-code (e.g. I didn't modify reserved bits).
The question is that do I have to write an xHCI driver or can I use my current EHCI driver somehow on this laptop?
Regards,
rob
- 00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 07)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d10 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port (rev f1)
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330] (rev ff)
02:00.0 Network controller: Intel Corporation Wireless 3160 (rev 83)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller (rev 07)