Re: Compiling a Driver for a PCI-e Serial Card

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Michael Butash
Date:  
To: plug-discuss
Subject: Re: Compiling a Driver for a PCI-e Serial Card
Seems like it wants the 32bit packages, maybe you don't have 32bit
enabled with multiarch?

dpkg --print-foreign-architectures

Maybe just install the devel libraries for binutils and all the build
tools for 32bit.

It's probably not built for multi-arch, meaning if it insists on
building a 32bit module only, it likely won't work. The whole
multi-arch thing made a mess for lazy 3rd party binary developers that
don't want to rewrite around compilation methodologies.

-mb



On 12/13/2014 04:31 PM, wrote:
> Hello,
> I've been working on a MythTV on Mythbuntu project for a little while now and I've come to the step of setting up a serial ir blaster. My motherboard did not come with a serial port so I purchased an Iocrest  PCI-Express Multi I/O Controller serial card. I see the card when typing in "lspci" in a CLI. However, I've determined the card needs a driver, because when I put the command to find my ir blaster, "dmesg | grep tty" it oly comes up with "[    0.000000] console [tty0] enabled". When i plug the ir blaster into an older lubuntu computer I have I get "[    0.000000] console [tty0] enabled
> [    1.029792] 00:08: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A". So it seems to find the blaster on the older computer, probably because the serial port is built into the motherboard. So, I found and downloaded the linux driver for the card that needs to be compiled. I've extracted the zip file the driver is in, navigate to the directory where the makefile is and then enter the command "make". I then get these errors: "hometheater@Hometheater:~/Downloads/Serial Driver/MCS99XX/Linux/MCS9900_Cascade/MCS99XX-cascade_V_1.0.0.0$ make
> rm -f *.mod.c *.o *.ko .*.cmd *.symvers
> make -C /usr/src/linux-headers-3.13.0-43-generic  SUBDIRS=/home/hometheater/Downloads/Serial Driver/MCS99XX/Linux/MCS9900_Cascade/MCS99XX-cascade_V_1.0.0.0 modules
> make[1]: Entering directory `/usr/src/linux-headers-3.13.0-43-generic'
> /usr/src/linux-headers-3.13.0-43-generic/arch/x86/Makefile:113: CONFIG_X86_X32 enabled but no binutils support
> make[1]: *** No rule to make target `Driver/MCS99XX/Linux/MCS9900_Cascade/MCS99XX-cascade_V_1.0.0.0'.  Stop.
> make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-43-generic'
> make: *** [default] Error 2"
> Here is the makefile as well:
> "KDIR:=/usr/src/linux-headers-3.13.0-43-generic

>
> obj-m +=99xx.o
>
> default:
>     $(RM) *.mod.c *.o *.ko .*.cmd *.symvers
>     $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

>
> install:
>     cp 99xx.ko  /lib/modules/$(shell uname -r)/kernel/drivers/serial/
>     depmod -A
>     chmod +x mcs99xx
>     cp mcs99xx /etc/init.d/
>     ln -s /etc/init.d/mcs99xx /etc/rc.d/rc3.d/Smcs99xx || true      
>     ln -s /etc/init.d/mcs99xx /etc/rc.d/rc5.d/Smcs99xx || true
>     modprobe 99xx nr_funs=4

>
> uninstall:
>     modprobe -r 99xx
>     rm /lib/modules/$(shell uname -r)/kernel/drivers/serial/99xx.*
>     depmod -A
>     rm -f /etc/init.d/mcs99xx
>     rm -f /etc/rc.d/rc3.d/Smcs99xx
>     rm -f /etc/rc.d/rc5.d/Smcs99xx

>
> clean:
>     $(RM) *.mod.c *.o *.ko .*.cmd *.symvers
>     rm -rf .tmp_version*"
> Can anyone help me successfully compile this driver?
> Thanks!
> ~Andrew C.
> ---------------------------------------------------
> PLUG-discuss mailing list - 
> To subscribe, unsubscribe, or to change your mail settings:
> http://lists.phxlinux.org/mailman/listinfo/plug-discuss


---------------------------------------------------
PLUG-discuss mailing list -
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss