On 2015-12-22, Jordon <[email protected]> wrote:
> I have actually made some progress on this serial port card!  I looked at how
> FreeBSD has it configured, tried to map the values to the OpenBSD struct, and
> actually got something working!
>
>
>
> I added the following to pcidevs:
>
> vendor  PERLE           0x155f  Perle
> vendor  COMTROL         0x11fe  Comtrol
>
> product PERLE   R35583          0xb008  Speed8 LE
> product COMTROL 5002265         0x0805  RocketPort uPCI Octa
>
>
>
> I added the following to pucdata.c:
>
>         {
>                 {       PCI_VENDOR_PERLE, PCI_PRODUCT_PERLE_R35583, 0, 0 },
>                 {       0xffff, 0xffff, 0, 0 },
>                 {
>                         { PUC_COM_POW2(0), 0x10, 0x0000 },
>                         { PUC_COM_POW2(0), 0x10, 0x0008 },
>                         { PUC_COM_POW2(1), 0x10, 0x0010 },
>                         { PUC_COM_POW2(1), 0x10, 0x0018 },
>                         { PUC_COM_POW2(2), 0x10, 0x0020 },
>                         { PUC_COM_POW2(2), 0x10, 0x0028 },
>                         { PUC_COM_POW2(3), 0x10, 0x0030 },
>                         { PUC_COM_POW2(3), 0x10, 0x0038 },
>                 },
>         },
>
> And much to my surprise, it shows up (with some issues) and when i connect 2
> of the ports with a null modem adapter, i can cu from one to another!
> (For now, I’m not too concerned about the RocketPort card)
>
>
>
> The dmesg looks like this:
>
> puc0 at pci0 dev 9 function 0 "Perle Speed8 LE" rev 0x00: ports: 8 com
> com4 at puc0 port 0 apic 2 int 18: st16650, 32 byte fifo
> com4: probed fifo depth: 16 bytes
> com5 at puc0 port 1 apic 2 int 18: st16650, 32 byte fifo
> com5: probed fifo depth: 16 bytes
> com6 at puc0 port 2 apic 2 int 18: st16650, 32 byte fifo
> com6: probed fifo depth: 16 bytes
> com7 at puc0 port 3 apic 2 int 18: st16650, 32 byte fifo
> com7: probed fifo depth: 16 bytes
> puc0: couldn't get subregion for port 4
> puc0: couldn't get subregion for port 5
> puc0: couldn't get subregion for port 6
> puc0: couldn't get subregion for port 7
> puc1 at pci0 dev 9 function 1 "Perle Speed8 LE" rev 0x00: ports: 8 com
> com8 at puc1 port 0 apic 2 int 18: st16650, 32 byte fifo
> com9 at puc1 port 1 apic 2 int 18: st16650, 32 byte fifo
> com10 at puc1 port 2 apic 2 int 18: st16650, 32 byte fifo
> com11 at puc1 port 3 apic 2 int 18: st16650, 32 byte fifo
> puc1: couldn't get subregion for port 4
> puc1: couldn't get subregion for port 5
> puc1: couldn't get subregion for port 6
> puc1: couldn't get subregion for port 7
> "Comtrol RocketPort uPCI Octa" rev 0x01 at pci0 dev 10 function 0 not
> configured

Assuming you have one card not two connected, it looks like you should
set the device as 4 ports not 8.

>
> Now some questions:
>
> I first listed all 8 ports with PUC_COM_POW2(3) because I think I saw a
> similar device (a Boca card or something) using it.  it worked fine (one of
> the ports was connected to a different machine an cu could pass text).  I then
> changed the numbers passed in (to 0, 1, 2, 3) just to see if anything changed,
> and the first and second ports can still talk to each other.  What exactly
> does that value do?

Sets the clock multiplier - even if this is set wrongly a null-modem
between ports on the card will still work so be sure to test all the
ports to a different machine and make sure the speeds are right;
sometimes not all ports have the same multiplier.

> Why do the first four ports probe to 16 bytes but not the next four?

unsure.

> What is up with the “couldn’t get subregion” message?  I did a search
> and couldn’t find anything about that string on the Internet.

Presumably because it's 2x 4-port so the 'extra' 4 ports aren't really there.

> This is my first real attempt at development of this type so I am pretty happy
> about this.  I would love for 5.9 to have support for this card.

It probably only needs a few tweaks so there might well be time for this.

Reply via email to