I've had the most depressing few days at work trying to get an RS485 link (500 kbaud) working. Originally it was using the card mentioned here and was running an app on windows, but the final system runs linux and would run from flash memory.
The card is question has
linux drivers available.
However, they've provided a "RedHat9" prebuilt module, except that it's not actually for the kernel that ships with redhat 9, it's for 2.4.25, and they provided no information on what kernel configuration is actually required in kernel to make the driver work.
So I spent this morning figuring out that SMP needed to be enabled to insmod the driver. Eventually, I managed to get the driver installed, but using it would cause a seg fault.
Eventually their technical support got back to me and sent the configuration for the kernel they built the driver with. This confirmed my worst fear, for some very strange reason, they'd decided to build the module for a "Pentium III", this of course is of no use to me as we're using a mini-itx board which doesn't like stuff compiled for "Pentium III".
So, all I need to do is compile the module and I'm away right? They've provided the source code (BbSerial.c) , but they've not provided a makefile for it, and I can't for the life of me figure out how I get it to build. I just get a whole load of messages about needing to use export-objs. Oh, and they're also missing an include file called BbVersion.h, but I think this only contains the version strings which they've commented out of the top of the BbSerial.c.
I'd appreciate it if anybody knows how I can create a Makefile that will build this module, hopefully then I'll be less stressed! Any pointers seriously appreciated.