Hello, I come from [1] and maybe I can contribute a bit. First to the page itself: "Finding the USB debug port" links to the script at [2], but should actually link to [3] (the updated script). And in "Hardware capability" the command 'lspci -vs' does not work here, the parameter -s seems unknown. Nonetheless I think I can contribute that my controller has a Debug port. I cannot really verify because I don't have a cable to do so nor am I able to run coreboot, but attached is a file that contains the output of some commands. If I can do furthermore anything for you, feel free to ask. Thanks! Yul Rottmann
[1] http://www.coreboot.org/EHCI_Debug_Port [2] http://coreboot.org/pipermail/coreboot/2008-September/038615.html [3] http://coreboot.org/pipermail/coreboot/2008-September/038635.html
My mainboard is a Gigabyte GA-MA78G-DS3H (rev. 1.0)
$ sudo ./attachment.sh The following PCI devices support a USB debug port (says lspci): 0000:00:12.2 0000:00:13.2 The following PCI devices support a USB debug port (says the kernel): 0000:00:12.2 0000:00:13.2 PCI device 0000:00:12.2, USB bus 3, USB physical port 1 PCI device 0000:00:13.2, USB bus 6, USB physical port 1 Currently connected high-speed devices: Bus# 1 `-Dev# 1 Vendor 0x1d6b Product 0x0001 |-Dev# 4 Vendor 0x046d Product 0xc044 `-Dev# 5 Vendor 0x046d Product 0xc30e Bus# 2 `-Dev# 1 Vendor 0x1d6b Product 0x0001 Bus# 3 `-Dev# 1 Vendor 0x1d6b Product 0x0002 Bus# 4 `-Dev# 1 Vendor 0x1d6b Product 0x0001 Bus# 5 `-Dev# 1 Vendor 0x1d6b Product 0x0001 Bus# 6 `-Dev# 1 Vendor 0x1d6b Product 0x0002 Bus# 7 `-Dev# 1 Vendor 0x1d6b Product 0x0001
$ lspci 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge 00:01.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (int gfx) 00:0a.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 5) 00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode] 00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller 00:12.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller 00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller 00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller 00:13.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller 00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller [...]
$ lspci -n 00:00.0 0600: 1022:9600 00:01.0 0604: 1022:9602 00:0a.0 0604: 1022:9609 00:11.0 0106: 1002:4391 00:12.0 0c03: 1002:4397 00:12.1 0c03: 1002:4398 00:12.2 0c03: 1002:4396 00:13.0 0c03: 1002:4397 00:13.1 0c03: 1002:4398 00:13.2 0c03: 1002:4396 [...]
$ sudo lspci -vvnn [...] 00:12.0 USB Controller [0c03]: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller [1002:4397] (prog-if 10) Subsystem: Giga-byte Technology Device [1458:5004] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 4 bytes Interrupt: pin A routed to IRQ 16 Region 0: Memory at fe02e000 (32-bit, non-prefetchable) [size=4K] Kernel driver in use: ohci_hcd Kernel modules: ohci-hcd
00:12.1 USB Controller [0c03]: ATI Technologies Inc SB700 USB OHCI1 Controller [1002:4398] (prog-if 10) Subsystem: Giga-byte Technology Device [1458:5004] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 4 bytes Interrupt: pin A routed to IRQ 16 Region 0: Memory at fe02d000 (32-bit, non-prefetchable) [size=4K] Kernel driver in use: ohci_hcd Kernel modules: ohci-hcd
00:12.2 USB Controller [0c03]: ATI Technologies Inc SB700/SB800 USB EHCI Controller [1002:4396] (prog-if 20) Subsystem: Giga-byte Technology Device [1458:5004] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 17 Region 0: Memory at fe02c000 (32-bit, non-prefetchable) [size=256] Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Bridge: PM- B3+ Capabilities: [e4] Debug port: BAR=1 offset=00e0 Kernel driver in use: ehci_hcd Kernel modules: ehci-hcd
00:13.0 USB Controller [0c03]: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller [1002:4397] (prog-if 10) Subsystem: Giga-byte Technology Device [1458:5004] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 4 bytes Interrupt: pin A routed to IRQ 18 Region 0: Memory at fe02b000 (32-bit, non-prefetchable) [size=4K] Kernel driver in use: ohci_hcd Kernel modules: ohci-hcd
00:13.1 USB Controller [0c03]: ATI Technologies Inc SB700 USB OHCI1 Controller [1002:4398] (prog-if 10) Subsystem: Giga-byte Technology Device [1458:5004] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 4 bytes Interrupt: pin A routed to IRQ 18 Region 0: Memory at fe02a000 (32-bit, non-prefetchable) [size=4K] Kernel driver in use: ohci_hcd Kernel modules: ohci-hcd
00:13.2 USB Controller [0c03]: ATI Technologies Inc SB700/SB800 USB EHCI Controller [1002:4396] (prog-if 20) Subsystem: Giga-byte Technology Device [1458:5004] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 19 Region 0: Memory at fe029000 (32-bit, non-prefetchable) [size=256] Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Bridge: PM- B3+ Capabilities: [e4] Debug port: BAR=1 offset=00e0 Kernel driver in use: ehci_hcd Kernel modules: ehci-hcd [...]
Yul Rottmann wrote:
I come from [1] and maybe I can contribute a bit. First to the page itself: "Finding the USB debug port" links to the script at [2], but should actually link to [3] (the updated script). And in "Hardware capability" the command 'lspci -vs' does not work here, the parameter -s seems unknown.
Run lspci -h and look under "Selection of devices" - it should work. But the sh fu may be broken by now.
Nonetheless I think I can contribute that my controller has a Debug port. I cannot really verify because I don't have a cable to do so nor am I able to run coreboot, but attached is a file that contains the output of some commands.
Thanks. I updated the EHCI page with the SB700.
If I can do furthermore anything for you, feel free to ask.
It's interesting that you have two EHCI devices with a debug port each. I don't know what coreboot does in this case. Not much to do since you can't test, but you could look around at the port registers to see if you can locate if the debug port(s!) actually go(es) anywhere on the board.
//Peter
Peter Stuge wrote:
Run lspci -h and look under "Selection of devices" - it should work. But the sh fu may be broken by now.
I tested again and it's just that the complete line does not work. I just copied and pasted this into a shell, and it did not work, unsure if this was the right way. If I insert the output of the one command by hand, it works as expected. Maybe this command line could be improved. Just for the case you still need the output, it is attached.
It's interesting that you have two EHCI devices with a debug port each. I don't know what coreboot does in this case. Not much to do since you can't test, but you could look around at the port registers to see if you can locate if the debug port(s!) actually go(es) anywhere on the board.
I don't know how to find out, whether those debug ports go anywhere on the board. If it is easy, could you help me with that? Thanks!
Yul Rottmann
$ lspci|grep EHCI|cut -f1 -d' ' 00:12.2 00:13.2
# lspci -vs 00:12.2 00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller (prog-if 20) Subsystem: Giga-byte Technology Device 5004 Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 17 Memory at fe02c000 (32-bit, non-prefetchable) [size=256] Capabilities: [c0] Power Management version 2 Capabilities: [e4] Debug port: BAR=1 offset=00e0 Kernel driver in use: ehci_hcd Kernel modules: ehci-hcd
# lspci -ns 00:12.2 00:12.2 0c03: 1002:4396
# lspci -vs 00:13.2 00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller (prog-if 20) Subsystem: Giga-byte Technology Device 5004 Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 19 Memory at fe029000 (32-bit, non-prefetchable) [size=256] Capabilities: [c0] Power Management version 2 Capabilities: [e4] Debug port: BAR=1 offset=00e0 Kernel driver in use: ehci_hcd Kernel modules: ehci-hcd
# lspci -ns 00:13.2 00:13.2 0c03: 1002:4396
The following does not work:
# lspci -vs $(lspci|grep EHCI|cut -f1 -d' ') Usage: lspci [<switches>]