Compiling a Driver for a PCI-e Serial Card

mariovenzetti at cox.net mariovenzetti at cox.net
Mon Dec 15 15:21:28 MST 2014


Alright, when i went to install the build-essential:i386 package, it came back with a lot of unmet dependencies. So, I worked my way through installing all the packages it told me I needed and I got it down to one left:

hometheater at Hometheater:~$ sudo apt-get install build-essential:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 build-essential:i386 : Depends: dpkg-dev:i386 (>= 1.13.5)
E: Unable to correct problems, you have held broken packages.

So when I go to download it, I get this:

hometheater at Hometheater:~$ sudo apt-get install dpkg-dev:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'dpkg-dev' instead of 'dpkg-dev:i386'
dpkg-dev is already the newest version.
The following packages were automatically installed and are no longer required:
  lib32gcc1 libasan0:i386 libatomic1:i386 libc6-dev:i386 libcloog-isl4:i386
  libcuda1-331 libgcc-4.8-dev:i386 libgmp10:i386 libgomp1:i386 libisl10:i386
  libitm1:i386 libmpc3:i386 libmpfr4:i386 libquadmath0:i386
  libstdc++-4.8-dev:i386 linux-libc-dev:i386 nvidia-settings pkg-config
  screen-resolution-extra
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

It looks like I have it downloaded already, but when I go to download the build-essential:i386, I still get the first message I pasted above. Or maybe I need to do what it recommends when it says:
Use 'apt-get autoremove' to remove them
I'm reluctant to do that in case those are needed to compile this driver
Thanks again!

 
---- Michael Butash <michael at butash.net> wrote: 
> You want to specify the packages with the suffix ":i386" on them as you 
> would a normal package, specifying the 32bit version.
> 
> Which packages are actually missing is more hit and miss, I'd start by 
> installing the binutils and maybe see if the meta-pacakge 
> build-essential:i386 pulls them all.
> 
> -mb
> 
> 
> 
> 
> On 12/14/2014 07:32 PM, mariovenzetti at cox.net wrote:
> > dpkg --print-foreign-architectures gives this output:
> > i386
> > so it looks like 32bit is enabled with multiarch.
> > How would I install the devel libraries for binutils and the build tools for 32bit on my 64bit machine? I'm pretty new to all of this and have been learning everything along the way from various discussion boards etc.
> > Thanks!
> > ---- Michael Butash <michael at butash.net> wrote:
> >> 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
> >> ---------------------------------------------------
> >> 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