Jump to content

I am looking for a PCIe card for WinXP debugging


Gelip
 Share

Recommended Posts

When I needed an ExpressCard for my laptop, I found i-tec EXRS232 WinDbg works with this card if we modify the kdcom.dll file by inserting the I/O address 3000 of the card in place of the port address, e.g. COM1 03F8

ExpressCard i-tec EXRS232, chip Oxford, PCI Vendor:Device 1415:c120

This card only has I/O addresses and works with the modified kdcom.dll ūüėĀ The card is attached directly to the PCI Express Root bus:

3625867400_1643403280.png

03:00.0 Serial controller [0700]: Oxford Semiconductor Ltd Device [1415:c120] (prog-if 02 [16550])
    Subsystem: Oxford Semiconductor Ltd Device [1415:c120]
    Flags: bus master, fast devsel, latency 0, IRQ 17
    I/O ports at 3000 [size=8]
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [70] Express Legacy Endpoint, MSI 00
    Capabilities: [100] Device Serial Number 00-30-e0-11-11-00-01-20
    Capabilities: [110] Power Budgeting <?>
    Kernel driver in use: serial

Now I am looking for an RS-232 to PCIe card with which to do the same. I have already purchased two other PCIe cards but the kdcom.dll modification trick does not work ūüėě

PCIe card No.1: Sunrich I-350 PCI-E 1S, chip OXPCIe952, PCI Vendor:Device 1415:c138

This card is attached directly to the PCI Express Root bus but has no I/O addresses only MMIO (Memory at):

03:00.0 Serial controller [0700]: Oxford Semiconductor Ltd Device [1415:c138] (prog-if 02 [16550])
    Subsystem: Oxford Semiconductor Ltd Device [1415:c138]
    Flags: bus master, fast devsel, latency 0, IRQ 17
    Memory at f0400000 (32-bit, non-prefetchable) [size=16K]
    Memory at f0200000 (32-bit, non-prefetchable) [size=2M]
    Memory at f0000000 (32-bit, non-prefetchable) [size=2M]
    Capabilities: [40] Power Management version 3
    Capabilities: [70] Express Endpoint, MSI 00
    Capabilities: [b0] MSI-X: Enable- Count=16 Masked-
    Capabilities: [100] Device Serial Number 00-30-e0-11-11-00-01-30
    Capabilities: [110] Power Budgeting <?>
    Kernel driver in use: serial

PCIe card No.2: Sunix SER5427A, chip SUN1989, PCI Vendor:Device 1fd4:1999

This card only has I/O addresses but does not work with the modified kdcom.dll. The card is connected via a PCI-to-PCI bridge to the PCI Express Root bus:

6604547300_1643403291.png

04:00.0 Serial controller [0700]: SUNIX Co., Ltd. Device [1fd4:1999] (prog-if 04 [16750])
    Subsystem: SUNIX Co., Ltd. Device [1fd4:0001]
    Flags: medium devsel, IRQ 17
    I/O ports at 3000 [size=32]
    I/O ports at 3020 [size=16]
    Capabilities: [40] Power Management version 3

What PCIe card should I look for?

Edited by Gelip
Link to comment
Share on other sites

@infuscomus

It works but only in the early starting phase and only with modified NTLDR_DBG. I wrote to @Dietmar PM to share data of your cards in this topic but wrote that there is no time.
I am looking for such a PCie card that works with modified kdcom.dll like my ExpressCard

I collect information on how these cards work and I know that:

  • there are cards with PCI-to-PCI bridge or without
  • there are Memory-Mapped I/O (MMIO), Port-Mapped I/O (PMIO) or Mixed MMIO + PMIO e.g. --> CH3825SP
    03:00.0 Serial controller: Device 1c00:3253 (rev 10) (prog-if 05 [16850])
        Subsystem: Device 1c00:3253
        Flags: fast devsel, IRQ 17
        I/O ports at e000 [size=256]
        Memory at f0100000 (32-bit, prefetchable) [size=32K]
        I/O ports at e100 [size=4]
        Expansion ROM at f7d00000 [disabled] [size=32K]
        Capabilities: <access denied>

Probably needs a card that does not have a PCI bridge and only has an Port-Mapped I/O (PMIO)

Link to comment
Share on other sites

19 minutes ago, infuscomus said:

I can build a kdcom.dll from source code if you think that'll help for this.

As for PMIO addresses, I know in what offsets to change them in kdcom.dll without compilation in a regular hex editor.

Maybe you could add another function, e.g. MMIO address?

Link to comment
Share on other sites

@Gelip

 

Look at the date, when kdnet.dll was changed.

I did it on Dienstag, 8. Oktober 2019, 12:15:39

Dietmar

 

PS: The kdnet.dll in this post is from 2014, so it is original file from win8.1 .

Edited by Dietmar
Link to comment
Share on other sites

@infuscomus

Yes, I have already searched for information on many different cards and found this PEX2S553 but the price is too high so it is out of the question. Besides, I already have 3 different cards and I don't want to buy more if I don't know if it will work.

I found one that has "native" in the description - Sunix SER6427A

With high reliable SUNIX SUN2212 native PCI Express 16C950 UART controller.

The photo does not show that it has a bridge, only a SUN2212 chip:

SER6427A.thumb.jpeg.ace1165bc6f729e6335d16ee768bc6b3.jpeg

but there is also the question of how this card is addressed - Memory-Mapped I/O (MMIO), Port-Mapped I/O (PMIO) or Mixed MMIO + PMIO ????

Link to comment
Share on other sites

@Dietmar

Wow, KDNET works with WinXP 32-bit ūüėĀ In Boot.ini, only one line is enough:

C:\WINDOWS="KDNET Force IP"    /noexecute=optin /fastdetect /DEBUG /DEBUGPORT=NET /HOST_IP=192.168.5.1 /HOST_PORT=50000 /ENCRYPTION_KEY=make.winxp.great.again /CPUFREQ=3000 /TARGET_IP=192.168.5.2

Tested with a laptop with a LAN card integrated Intel.

@Mov AX, 0xDEAD

Can I use the kdnet_delta.bin file to create kdnet.dll x64-bit and debug WinXP 64-bit?

Link to comment
Share on other sites

@Dietmar

Your card does not work with kdcom.dll probably because it is addressed both with MMIO and PMIO. Can you place a screenshot from Device Manager - View -> Devices by connection - Is the card connected directly to PCI Express Root or with a bridge? - see my screenshots in first post.

Thx.

Link to comment
Share on other sites

@Gelip

First here is output from all of my 4 different cards

Dietmar

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Dokumente und Einstellungen\Administrator>cd C:\pciutils-3.5.5-win32

C:\pciutils-3.5.5-win32>lspci
00:00.0 Host bridge: Intel Corporation Device 4660 (rev 02)
00:01.0 PCI bridge: Intel Corporation Device 460d (rev 02)
00:01.1 PCI bridge: Intel Corporation Device 462d (rev 02)
00:0a.0 Signal processing controller: Intel Corporation Device 467d (rev 01)
00:14.0 USB controller: Intel Corporation Device 7ae0 (rev 11)
00:14.2 RAM memory: Intel Corporation Device 7aa7 (rev 11)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device 7acc (rev 11)
00:15.1 Serial bus controller [0c80]: Intel Corporation Device 7acd (rev 11)
00:16.0 Communication controller: Intel Corporation Device 7ae8 (rev 11)
00:17.0 SATA controller: Intel Corporation Device 7ae2 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Device 7abc (rev 11)
00:1c.7 PCI bridge: Intel Corporation Device 7abf (rev 11)
00:1d.0 PCI bridge: Intel Corporation Device 7ab4 (rev 11)
00:1f.0 ISA bridge: Intel Corporation Device 7a84 (rev 11)
00:1f.3 Audio device: Intel Corporation Device 7ad0 (rev 11)
00:1f.4 SMBus: Intel Corporation Device 7aa3 (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 7aa4 (rev 11)
01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 730] (re
v a1)
01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)

02:00.0 Serial controller: MosChip Semiconductor Technology Ltd. MCS9922 PCIe Mu
lti-I/O Controller
02:00.1 Serial controller: MosChip Semiconductor Technology Ltd. MCS9922 PCIe Mu
lti-I/O Controller
03:00.0 SATA controller: ASMedia Technology Inc. Device 1064 (rev 02)
04:00.0 Ethernet controller: Intel Corporation Device 15f3 (rev 03)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 P
CI Express Gigabit Ethernet Controller (rev 06)

C:\pciutils-3.5.5-win32>lspci -s 02:00.0 -v
02:00.0 Serial controller: MosChip Semiconductor Technology Ltd. MCS9922 PCIe Mu
lti-I/O Controller (prog-if 02 [16550])
        Subsystem: Device a000:1000
        Flags: bus master, fast devsel, latency 0, IRQ 10
        I/O ports at 4010
        Memory at 3b603000 (32-bit, non-prefetchable)
        Memory at 3b602000 (32-bit, non-prefetchable)
        Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
        Capabilities: [78] Power Management version 3
        Capabilities: [80] Express Legacy Endpoint, MSI 00


C:\pciutils-3.5.5-win32>lspci -s 02:00.1 -v
02:00.1 Serial controller: MosChip Semiconductor Technology Ltd. MCS9922 PCIe Mu
lti-I/O Controller (prog-if 02 [16550])
        Subsystem: Device a000:1000
        Flags: bus master, fast devsel, latency 0, IRQ 5
        I/O ports at 4000
        Memory at 3b601000 (32-bit, non-prefetchable)
        Memory at 3b600000 (32-bit, non-prefetchable)
        Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
        Capabilities: [78] Power Management version 3
        Capabilities: [80] Express Legacy Endpoint, MSI 00


C:\pciutils-3.5.5-win32>lspci -s 00:15.0 -v
00:15.0 Serial bus controller [0c80]: Intel Corporation Device 7acc (rev 11)
        Subsystem: Biostar Microtech Int'l Corp Device 3118
        Flags: fast devsel, IRQ 255
        Memory at <unassigned> (64-bit, non-prefetchable) [disabled]
        Capabilities: [80] Power Management version 3
        Capabilities: [90] Vendor Specific Information: Len=14 <?>


C:\pciutils-3.5.5-win32>lspci -s 00:15.1 -v
00:15.1 Serial bus controller [0c80]: Intel Corporation Device 7acd (rev 11)
        Subsystem: Biostar Microtech Int'l Corp Device 3118
        Flags: fast devsel, IRQ 255
        Memory at <unassigned> (64-bit, non-prefetchable) [disabled]
        Capabilities: [80] Power Management version 3
        Capabilities: [90] Vendor Specific Information: Len=14 <?>


C:\pciutils-3.5.5-win32>lspci -s 00:1f.5 -v
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 7aa4 (rev 11)
        Subsystem: Biostar Microtech Int'l Corp Device 3118
        Flags: fast devsel
        Memory at fe010000 (32-bit, non-prefetchable) [disabled]


C:\pciutils-3.5.5-win32>lspci
00:00.0 Host bridge: Intel Corporation Device 4660 (rev 02)
00:01.0 PCI bridge: Intel Corporation Device 460d (rev 02)
00:01.1 PCI bridge: Intel Corporation Device 462d (rev 02)
00:0a.0 Signal processing controller: Intel Corporation Device 467d (rev 01)
00:14.0 USB controller: Intel Corporation Device 7ae0 (rev 11)
00:14.2 RAM memory: Intel Corporation Device 7aa7 (rev 11)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device 7acc (rev 11)
00:15.1 Serial bus controller [0c80]: Intel Corporation Device 7acd (rev 11)
00:16.0 Communication controller: Intel Corporation Device 7ae8 (rev 11)
00:17.0 SATA controller: Intel Corporation Device 7ae2 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Device 7abc (rev 11)
00:1c.7 PCI bridge: Intel Corporation Device 7abf (rev 11)
00:1d.0 PCI bridge: Intel Corporation Device 7ab4 (rev 11)
00:1f.0 ISA bridge: Intel Corporation Device 7a84 (rev 11)
00:1f.3 Audio device: Intel Corporation Device 7ad0 (rev 11)
00:1f.4 SMBus: Intel Corporation Device 7aa3 (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 7aa4 (rev 11)
01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 730] (re
v a1)
01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)

02:00.0 Serial controller: Oxford Semiconductor Ltd Device c138
03:00.0 SATA controller: ASMedia Technology Inc. Device 1064 (rev 02)
04:00.0 Ethernet controller: Intel Corporation Device 15f3 (rev 03)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 P
CI Express Gigabit Ethernet Controller (rev 06)

C:\pciutils-3.5.5-win32>lspci -s 02:00.0 -v
02:00.0 Serial controller: Oxford Semiconductor Ltd Device c138 (prog-if 02 [165
50])
        Subsystem: Oxford Semiconductor Ltd Device c138
        Flags: fast devsel, IRQ 255
        Capabilities: [40] Power Management version 3
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [b0] MSI-X: Enable- Count=16 Masked-


C:\pciutils-3.5.5-win32>lspci
00:00.0 Host bridge: Intel Corporation Device 4660 (rev 02)
00:01.0 PCI bridge: Intel Corporation Device 460d (rev 02)
00:01.1 PCI bridge: Intel Corporation Device 462d (rev 02)
00:0a.0 Signal processing controller: Intel Corporation Device 467d (rev 01)
00:14.0 USB controller: Intel Corporation Device 7ae0 (rev 11)
00:14.2 RAM memory: Intel Corporation Device 7aa7 (rev 11)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device 7acc (rev 11)
00:15.1 Serial bus controller [0c80]: Intel Corporation Device 7acd (rev 11)
00:16.0 Communication controller: Intel Corporation Device 7ae8 (rev 11)
00:17.0 SATA controller: Intel Corporation Device 7ae2 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Device 7abc (rev 11)
00:1c.7 PCI bridge: Intel Corporation Device 7abf (rev 11)
00:1d.0 PCI bridge: Intel Corporation Device 7ab4 (rev 11)
00:1f.0 ISA bridge: Intel Corporation Device 7a84 (rev 11)
00:1f.3 Audio device: Intel Corporation Device 7ad0 (rev 11)
00:1f.4 SMBus: Intel Corporation Device 7aa3 (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 7aa4 (rev 11)
01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 730] (re
v a1)
01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)

02:00.0 Serial controller: Oxford Semiconductor Ltd Device c140
02:00.1 Serial controller: Oxford Semiconductor Ltd Device c141
03:00.0 SATA controller: ASMedia Technology Inc. Device 1064 (rev 02)
04:00.0 Ethernet controller: Intel Corporation Device 15f3 (rev 03)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 P
CI Express Gigabit Ethernet Controller (rev 06)

C:\pciutils-3.5.5-win32>lspci -s 02:00.0 -v
02:00.0 Serial controller: Oxford Semiconductor Ltd Device c140 (prog-if 02 [165
50])
        Subsystem: Oxford Semiconductor Ltd Device c140
        Flags: fast devsel, IRQ 255
        I/O ports at <unassigned> [disabled]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Legacy Endpoint, MSI 00


C:\pciutils-3.5.5-win32>lspci -s 02:00.1 -v
02:00.1 Serial controller: Oxford Semiconductor Ltd Device c141 (prog-if 02 [165
50])
        Subsystem: Oxford Semiconductor Ltd Device c141
        Flags: fast devsel, IRQ 255
        I/O ports at <unassigned> [disabled]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Legacy Endpoint, MSI 00


C:\pciutils-3.5.5-win32>lspci
00:00.0 Host bridge: Intel Corporation Device 4660 (rev 02)
00:01.0 PCI bridge: Intel Corporation Device 460d (rev 02)
00:01.1 PCI bridge: Intel Corporation Device 462d (rev 02)
00:0a.0 Signal processing controller: Intel Corporation Device 467d (rev 01)
00:14.0 USB controller: Intel Corporation Device 7ae0 (rev 11)
00:14.2 RAM memory: Intel Corporation Device 7aa7 (rev 11)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device 7acc (rev 11)
00:15.1 Serial bus controller [0c80]: Intel Corporation Device 7acd (rev 11)
00:16.0 Communication controller: Intel Corporation Device 7ae8 (rev 11)
00:17.0 SATA controller: Intel Corporation Device 7ae2 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Device 7abc (rev 11)
00:1c.7 PCI bridge: Intel Corporation Device 7abf (rev 11)
00:1d.0 PCI bridge: Intel Corporation Device 7ab4 (rev 11)
00:1f.0 ISA bridge: Intel Corporation Device 7a84 (rev 11)
00:1f.3 Audio device: Intel Corporation Device 7ad0 (rev 11)
00:1f.4 SMBus: Intel Corporation Device 7aa3 (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 7aa4 (rev 11)
01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 730] (re
v a1)
01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)

02:00.0 Serial controller: MosChip Semiconductor Technology Ltd. PCIe 9912 Multi
-I/O Controller
02:00.1 Serial controller: MosChip Semiconductor Technology Ltd. Device 9900
03:00.0 SATA controller: ASMedia Technology Inc. Device 1064 (rev 02)
04:00.0 Ethernet controller: Intel Corporation Device 15f3 (rev 03)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 P
CI Express Gigabit Ethernet Controller (rev 06)

C:\pciutils-3.5.5-win32>lspci -s 02:00.0 -v
02:00.0 Serial controller: MosChip Semiconductor Technology Ltd. PCIe 9912 Multi
-I/O Controller (prog-if 02 [16550])
        Subsystem: Device a000:1000
        Flags: fast devsel
        I/O ports at <unassigned> [disabled]
        Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
        Capabilities: [78] Power Management version 3
        Capabilities: [80] Express Legacy Endpoint, MSI 00


C:\pciutils-3.5.5-win32>

Link to comment
Share on other sites

@Dietmar

MosChip MCS9922 - I/O ports at & Memory at
Intel 3118    - Memory at
Oxford c138    - no I/O & no Memory ??? - very strange ??
Oxford c140    - I/O at
Oxford c141    - I/O at
MosChip 9912    - I/O at

Your PCie Oxford C140 has identical possibilities like my Oxford C120 ExpressCard

Your PCIe:

02:00.0 Serial controller: Oxford Semiconductor Ltd Device c140 (prog-if 02 [16550])
        Subsystem: Oxford Semiconductor Ltd Device c140
        Flags: fast devsel, IRQ 255
        I/O ports at <unassigned> [disabled]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Legacy Endpoint, MSI 00

My ExpressCard:

05:00.0 Serial controller: Oxford Semiconductor Ltd Device c120 (prog-if 02 [16550])
    Subsystem: Oxford Semiconductor Ltd Device c120
    Flags: fast devsel, IRQ 19
    I/O ports at 4000 [disabled]
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [70] Express Legacy Endpoint, MSI 00

Is this card connected using a PCI bridge or directly to PCI Express root? Please make screenshot from Device Manager - View > Devices by connection:

by_connection.png.fa59a448b293e5c1cae8ed760526f5ce.png

What is a card? Place a link with a photo.

Edited by Gelip
Link to comment
Share on other sites

@Gelip

 

This card Lindy 2S 16C950 is also connected via PCI bridge, but shown as normal COM3 and COM4 port.

I think, that this bridge is needed, because card sits in a PCIe slot.

The COM 2 port is the onboard COM connector. It is connected via PCI-Standard Isa bridge

This is the only card, where in Flags:  not "Busmaster" is listed, only fast devsel and IRQ.

As far as I remember, this card also does not work with Windbg,

only some success with freeldr (Fat32) and ntldr_debug

Dietmar

20220131-164036.jpg

 

card1.jpg

Edited by Dietmar
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...