Intel PCI Serial Port - no driver attached

Hello,

Intel AMT "Serial over LAN" does not work in FreeBSD (... and in all *NIX).
Code:
no driver attached -> ttyuX not added
:(

Links:
http://lists.freebsd.org/pipermail/freebsd-stable/2007-March/033504.html - not solved.
http://lists.freebsd.org/pipermail/freebsd-stable/2010-June/057494.html - not solved.
http://sourceforge.net/projects/openamt/ - Linux HECI-driver project. Not SOL driver! :\

Issuing a # pciconf results in FreeBSD 8.X (device puc & uart included):
Code:
none1@pci0:0:3:3:       class=0x070002 card=0x10048086 chip=0x2e178086 rev=0x03 hdr=0x00
vendor     = 'Intel Corporation'
device     = 'Intel PCI Serial Port (CC_0700)'
class      = simple comms
subclass   = UART

Issuing a # pciconf results in FreeBSD 9.X (device puc & uart included):
Code:
none1@pci0:0:3:3:       class=0x070002 card=0x10048086 chip=0x2e178086 rev=0x03 hdr=0x00
vendor     = 'Intel Corporation'
device     = '4 Series Chipset Serial KT Controller'
class      = simple comms
subclass   = UART
'4 Series Chipset Serial KT Controller' - WTF?! :D

Ubuntu info:
Code:
        *-communication:1
             description: Serial controller
             product: 4 Series Chipset Serial KT Controller
             vendor: Intel Corporation
             physical id: 3.3
             bus info: pci@0000:00:03.3
             version: 03
             width: 32 bits
             clock: 66MHz
             capabilities: pm msi 16550 bus_master cap_list
             configuration: driver=serial latency=0
             resources: irq:17 ioport:ecb8(size=8) memory:fdfda000-fdfdafff

Linux - find in all version sources:
Code:
Device "0x2e17" not found.

# ndisgen Windows SOL driver (from MEI_AMT_ALLOS_6.1.0.1042_PV, 2009 or from LMS_SOL_AllOS_5.4.0.1065_PV, 2007) - not possible.


FreeBSD change source:
/sys/dev/puc/pucdata.c
Code:
	{   0x8086, 0x2e17, 0x8086, 0x1004,
	    "Intel PCI Serial Port (CC_0700)",
	    DEFAULT_RCLK,
	    PUC_PORT_1S, 0x10, 0, 0,
	},
No effect... :(

Point me in the right direction?

Thank you very much!
 
Mitrandir said:
Point me in the right direction?

I guess you could try to find the necessary technical info and write a driver for your existing card, but I would find/buy a card with a known working driver.
 
Uniballer said:
I guess you could try to find the necessary technical info and write a driver for your existing card, but I would find/buy a card with a known working driver.
This is not "existing card". This is integrated Intel AMT SOL device for remove serial port administration. :stud
Technology "Intel AMT" has over 10 years - Windows drivers found always, *NIX just do not understand the value of its use.

I could pay for a FreeBSD kernel-specialist or driver-specialist for the development of...
 
wblock@ said:
WOW!!! Big Thanks!
Your link ===> http://linux.die.net/man/7/amt-howto ===>
If you have activated AMT and SOL the linux kernel should see an additional serial port, like this on my machine:
# dmesg | grep ttyS2
Code:
0000:00:03.3: ttyS2 at I/O 0xe000 (irq = 169) is a 16550A
Intel AMT SOL work in Linux. (I was wrong, because the device-code not found in sources Linux.)

But FreeBSD "additional serial port" not added to system: not added device puc to uartX and not added uartX to ttyuX!

'Intel PCI Serial Port (CC_0700)' no driver attached ===>
Code:
none1@pci0:0:3:3:       class=0x070002 card=0x10048086 chip=0x2e178086 rev=0x03 hdr=0x00
but should be ===>
Code:
uart0@pci0:0:3:3:       class=0x070002 card=0x10048086 chip=0x2e178086 rev=0x03 hdr=0x00
Is Problem!
 
Just to be clear: you've already run kldload ipmi and ipmitool sol? (Untested, pretty sure none of my systems have IPMI.)
 
wblock@ said:
Just to be clear: you've already run kldload ipmi and ipmitool sol? (Untested, pretty sure none of my systems have IPMI.)
IPMI Serial over LAN driver (extended LAN interface) and Intel AMT hardware SOL - this is different technology.
Ð’ut yes :stud, I first checked ipmitool and found that IPMI has no relation to the Intel AMT. ;)

PCI serial port found in system, but not attached to uart - how to add this PCI device driver in the code of supported puc (pci to uart bridge)?

I really do not speak English and I need help to find a specialist driver FreeBSD. I would appreciate it if someone created a description of the problem (I described it in great detail) in the FreeBSD mailing list:
# pciconf results in FreeBSD 8.X (device puc & uart included in kernel):
Code:
none1@pci0:0:3:3:       class=0x070002 card=0x10048086 chip=0x2e178086 rev=0x03 hdr=0x00
vendor     = 'Intel Corporation'
device     = 'Intel PCI Serial Port (CC_0700)'
class      = simple comms
subclass   = UART
PCI Serial Port driver code need patch for support this PCI Serial Port device... help.
 
Which mailing list was that on? I agree that adding support in puc(4) might be all that is needed. If there is Linux or other source code that deals with the Intel AMT SOL, that might help in creating an entry for pucdata.c.
 
I don't know, although many of the entries are identical. The latest changes to that file were approved by jhb@. I would either post to the mailing lists (freebsd-questions) or contact him directly.
 
I'm working on the same problem on a FreeBSD 9 system. Tried some variations for pucdata.c with no success.

Did anyone ever get AMT SOL working on a FreeBSD system?
 
Looks like you're making progress. However, you're getting a response that nobody else seems to be.

When you do pciconf -l you're getting uart0@pci0:0:22:3: ....

When others of us do this we get none1@pci0:0:3:3: ... or variations the numbers there. The key factor, however, is that they always show "none," and because of that the other commands your article shows don't work.

We've been thinking that making an entry into pucdata.c would fix that, but have been unable to arrive at one that works.
 
@wjl2, let me be clear, I didn't write the article to which I linked. Based on the general way you phrased your question, I thought you were asking whether AMT serial works in principle, so I posted the link as an example that it can work. Regarding the specific PCI ID in the original post, support was added way back on Mar 17, 2012:

http://svnweb.freebsd.org/base?view=rev ... ion=233061

Please post the output of pciconf -lv | grep -A3 none so we can see what chip you're dealing with.
 
Last edited by a moderator:
I misunderstood and thought you were showing your own work.

As it happens, I no longer work for the company I was trying to resolve the problem for. I kept tracking this here because it interested me. I'll pass on the fix date and URL to them.

Thank you.
 
Sorry for bring it up again.

Recently, I bought an Intel NUC NUC5i5MYBE. I successfully installed FreeBSD 10.2 on this. (It is not the first time I run FreeBSD on Intel NUC.) However, I have some problem in setting up the AMT function.

I run pciconf -lv | grep -A3 none. Here is the output:

Code:
none0@pci0:0:22:0:    class=0x078000 card=0x20588086 chip=0x9cba8086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = simple comms
none1@pci0:0:22:3:    class=0x070002 card=0x20588086 chip=0x9cbd8086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = simple comms
    subclass   = UART
--
none2@pci0:0:31:3:    class=0x0c0500 card=0x20588086 chip=0x9ca28086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = serial bus
    subclass   = SMBus

I believe one of the possible way to solve this is to add an entry into uart_bus_pci.c. However, I don't know where to look for the relevant information. Could someone give me some hints?
Thanks!
 
Untested--I don't have a NUC, but try the line:
Code:
{ 0x8086, 0x9cbd, 0xffff, 0, "Intel Wildcat Point KT Controller", 0x10 },
to uart_bus_pci.c.
 
Same problem on my old Intel S3000AH board based on Intel 3000 chipset.
Code:
none1@pci0:4:0:3:       class=0x070002 card=0x00008086 chip=0x108f8086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Active Management Technology - SOL'
    class      = simple comms
    subclass   = UART

But after adding the line:
Code:
{ 0x8086, 0x108f, 0xffff, 0, "Active Management Technology - SOL", 0x10 },
to uart_bus_pci.c and recompiling the kernel it seems to be working:
Code:
uart2@pci0:4:0:3:       class=0x070002 card=0x00008086 chip=0x108f8086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Active Management Technology - SOL'
    class      = simple comms
    subclass   = UART

dmesg | grep uart shows:
Code:
uart2: <Active Management Technology - SOL> port 0x2020-0x2027 mem 0xe81a1000-0xe81a1fff irq 19 at device 0.3 on pci4
uart2: console (115200,n,8,1)
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0

It would be great if the maintainers of uart module will include it in future releases.
 
This is a great thread! Very helpful.

I'm having the same issue with the Atom S1200 UART. Unfortunately, while I'm able to get the device to show up, I can't communicate with it using
cu. I'm able to get two different USB serial devices to talk using the same null modem cable and the same commands (minus the devices), so I don't suspect it's the device.

I added
C:
{ 0x8086, 0x0c5f, 0xffff, 0, "Atom Processor S1200 UART", 0x10},
to uart_bus_pci.c.

The driver is loaded with this change, however it doesn't seem to function.

Code:
uart2@pci0:0:20:0:      class=0x070002 rev=0x02 hdr=0x00 vendor=0x8086 device=0x0c5f subvendor=0x15d9 subdevice=0x0651
    vendor     = 'Intel Corporation'
    device     = 'Atom Processor S1200 UART'
    class      = simple comms
    subclass   = UART

If I use this change, like some other Intel serial devices, it does not load the module and says "no driver attached".

C:
{ 0x8086, 0x0c5f, 0xffff, 0, "Atom Processor S1200 UART", 0x10,
    24 * DEFAULT_RCLK, 2 },

I can find nothing obvious from the datasheet and am not sure where to go from here. Would appreciate any help you can offer.

Edit: I opened bug report PR 278316 for this. With the first, shorter code example, I'm able to get it working *if* I set debug.uart_force_poll = 1. More information in the report.
 
Back
Top