LPC 16550 USART Driver?

Hi,

Testing an Exar 382 device, LPC bus, serial, compatible with 16550.

Windows 8 embedded does not detect device (PnP), have to add manually, 0x3f8, irq 4, 0x2f8, irq 3.

It accepts the ports ok in device manager and can open but can’t send/receive data. writefile crashes application, never returns, blocks forever.

Is the driver for this standard uart “serial.sys”? anything else?

Strange thing, memory stick boot linux, it finds both ports like \dev\ttyS0 and it works with putty on loopback and link to other pc so I assume the h/w ok.

There are no BIOS settings for the lpc serial ports. Does it have to be in the UEFI APC table for it function correctly in Windows?

Manufacturer claims most OS that have drivers for 16550 should work.

Tried changing configuration port from 0x2e to 0x4e. Also tried changing the security key to access configuration 0x67, 0x77 and 0x87.

Regards.

dc

xxxxx@hotmail.com wrote:

Testing an Exar 382 device, LPC bus, serial, compatible with 16550.

Windows 8 embedded does not detect device (PnP), have to add manually, 0x3f8, irq 4, 0x2f8, irq 3.

Does your BIOS expose these devices, either in the BIOS data area or in
the ACPI DSDT? Otherwise, how would the system know these devices exist?


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

> the ACPI DSDT? Otherwise, how would the system know these devices exist?

By using ISAPnP protocol?


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com

Thanks all. Read configuration from Exar device, IRQ needed swapping in Windows. Working now…

Maxim S. Shatskih wrote:

> the ACPI DSDT? Otherwise, how would the system know these devices exist?
By using ISAPnP protocol?

But that doesn’t do any discovery, right? ISAPnP can make PDOs, but
someone has to tell ISAPnP that these devices exist.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

> But that doesn’t do any discovery, right? ISAPnP can make PDOs, but

Am I wrong that on old machines of 1990ies most ISA cards were discovered by ISAPnP the same way the PCI cards were?

Also ISAPnP was there for PCMCIA. Am I wrong that discovery was done there?


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com

Hi:

I did some 8 and 16 bit ISA Ethernet adapters designs and we used the Dallas
Semi Dip Switch Eliminator initially, this basically monitored the
parallel port accesses, this device depended on a small battery, so when we
went to larger volumes I was given the task to design them out with a FPGA
and EEPROM, this was eventually placed on all the network topologies of the
time.

Anyone who set up Netware servers loved this stuff as one configuration
program and rebott saved hours and hours of feed floppies into “Gen” the
system.

These were all proprietary (vendor specific) designs as far as I know, as
you could control which address space you shadowed, to unlock a write to the
DIP switch eliminator.

We quickly embraced EISA, MicroChannel, and PCI, the PCMCIA adapters we
sold were all OEM’d so not much direct experience with them.

So I would say most ISA adapters had jumpers to manually set, at least our
competitors did.

Phil

“Maxim S. Shatskih” wrote in message
news:xxxxx@ntdev…
> But that doesn’t do any discovery, right? ISAPnP can make PDOs, but

Am I wrong that on old machines of 1990ies most ISA cards were discovered
by ISAPnP the same way the PCI cards were?

Also ISAPnP was there for PCMCIA. Am I wrong that discovery was done
there?


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com

IIRC ISAPNP could do discovery and resource determination but, unlike PCI, it didn’t have a standard mechanism for resource assignment. So you could have jumpers on your device that made it configurable but if you set them wrong you were still screwed.

Sent from my Windows Phone


From: Maxim S. Shatskihmailto:xxxxx
Sent: ?11/?13/?2014 1:05 PM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: Re:[ntdev] LPC 16550 USART Driver?

> But that doesn’t do any discovery, right? ISAPnP can make PDOs, but

Am I wrong that on old machines of 1990ies most ISA cards were discovered by ISAPnP the same way the PCI cards were?

Also ISAPnP was there for PCMCIA. Am I wrong that discovery was done there?


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx>

Do you know what clock the 16550 is using. The serial.sys driver assumes the old PC standard clock rate and if your feeding the uart a faster clock it screws up all the latch divisor calculations and thus your baud rate.

-p

Sent from my Windows Phone


From: xxxxx@hotmail.commailto:xxxxx
Sent: ?11/?12/?2014 6:42 AM
To: Windows System Software Devs Interest Listmailto:xxxxx
Subject: [ntdev] LPC 16550 USART Driver?

Hi,

Testing an Exar 382 device, LPC bus, serial, compatible with 16550.

Windows 8 embedded does not detect device (PnP), have to add manually, 0x3f8, irq 4, 0x2f8, irq 3.

It accepts the ports ok in device manager and can open but can’t send/receive data. writefile crashes application, never returns, blocks forever.

Is the driver for this standard uart “serial.sys”? anything else?

Strange thing, memory stick boot linux, it finds both ports like \dev\ttyS0 and it works with putty on loopback and link to other pc so I assume the h/w ok.

There are no BIOS settings for the lpc serial ports. Does it have to be in the UEFI APC table for it function correctly in Windows?

Manufacturer claims most OS that have drivers for 16550 should work.

Tried changing configuration port from 0x2e to 0x4e. Also tried changing the security key to access configuration 0x67, 0x77 and 0x87.

Regards.

dc


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx>

Maxim S. Shatskih wrote:

> But that doesn’t do any discovery, right? ISAPnP can make PDOs, but
Am I wrong that on old machines of 1990ies most ISA cards were discovered by ISAPnP the same way the PCI cards were?

No. How could it possibly do that? There is no one to ask. There is
no configuration space. The BIOS common data area included information
about COM ports and parallel ports, but there’s just no way to probe an
ISA bus and ask “hey, who is out there?”

Also ISAPnP was there for PCMCIA. Am I wrong that discovery was done there?

PCMCIA cards have a common “attribute memory” space, not unlike PCI
configuration space. Thus, there IS somewhere for ISAPnP to go look.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

http://www.osdever.net/documents/PNP-ISA-v1.0a.pdf

Not sure if this is the adopted standard, but this copy indicates that ISAPNP had a mechanism for enumerating compliant devices, for reading the identity and resources configured for each card, and even to reassign resources to cards once conflicts had been addressed.

It looks like they identify cards by reading a serial number from a shared port (all cards decoding, all cards watching to see what the others put out, every card putting out a 0 will do so by putting their line drivers into the high-Z state and then looking for a 1, every card that sees a 1 and isn’t driving a one backs off). Eventually one card provides its serial number, the PC assigns that card a “handle” for later addressing, and then that card no longer responds to serial number requests.

Once cards are assigned handles, the PC can interrogate each about its resources.

Magic. And now almost completely irrelevant, except that Intel won’t let ISA die :slight_smile:

-p

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Friday, November 14, 2014 9:31 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] LPC 16550 USART Driver?

Maxim S. Shatskih wrote:

> But that doesn’t do any discovery, right? ISAPnP can make PDOs, but
Am I wrong that on old machines of 1990ies most ISA cards were discovered by ISAPnP the same way the PCI cards were?

No. How could it possibly do that? There is no one to ask. There is no configuration space. The BIOS common data area included information about COM ports and parallel ports, but there’s just no way to probe an ISA bus and ask “hey, who is out there?”

Also ISAPnP was there for PCMCIA. Am I wrong that discovery was done there?

PCMCIA cards have a common “attribute memory” space, not unlike PCI configuration space. Thus, there IS somewhere for ISAPnP to go look.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer