Compiling a Driver for a PCI-e Serial Card

Michael Butash michael at butash.net
Sat Dec 13 17:52:10 MST 2014


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, mariovenzetti at cox.net 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 at 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 - PLUG-discuss at lists.phxlinux.org
> To subscribe, unsubscribe, or to change your mail settings:
> http://lists.phxlinux.org/mailman/listinfo/plug-discuss



More information about the PLUG-discuss mailing list