Porting an old driver to kernel 4.10.1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I recently acquired an old Advantech UNO-1150G industrial computer to
use as a home internet router and I'm in the process of getting the
additional serial ports going.

There are four serial ports, two standard RS-232 ones with one being a
motherboard header, and two additional RS-323/RS-422/RS-485 ports
hanging off a Oxford 16PCI952 PCI serial I/O interface.  I have placed
both ports into RS-232 mode by setting jumpers on the motherboard.

The manufacturer's driver[1] appears to be a very old fork of the
original 8250 serial driver, circa kernel 2.4 days, which they've hacked
up to support their various serial cards.  They advertise support for
kernel 2.4, 2.6 and 3.x… 3.0.x would be more accurate on the latter.

After much effort with `git bisect`, I've managed to get it to the point
that it loads on kernel 4.10.1 without causing an oops.  It does not
however, write anything to the serial port.  (Receive is unknown.)  My
work is here for now:

https://github.com/sjlongland/adv950

I see other devices based around the Oxford serial devices all using the
8250 serial driver.  It seems logical to me to try clean this driver up
so that it can be merged back with that driver and go into the kernel.

Is there any way to try and debug the serial infrastructure without
having to resort to peppering the code with `printk` calls?  Any other
debugging hints?
-- 
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
  ...it's backed up on a tape somewhere.

1.
http://support.advantech.com/support/DownloadSRDetail_New.aspx?SR_ID=1-GLBRCD&Doc_Source=Download

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux