Hi All,

I'm a bit of a Linux newbie, and was installing SLES 11 SP2 on a Shuttle XS35V2 box at home, which has a JMicron(R) JMC250 PCI-E Ethernet Adapter. Out of the box SLES didn't seem to support it, so I went and grabbed the driver. Two days later and I now have networking. Was a painful process, learned a lot, and figured I'd save some others some time and post the whole process of getting everything running.

Be aware not all these steps are probably necessary, but it's what I did.

1. Downloaded the latest linux driver from ftp://driver.jmicron.com.tw/Ethernet/Linux/
- Copy the driver to a USB stick

2. Update the kernel
- Had to install the kernel source, and was having trouble finding the source for the pretty old SP2 version I had installed. So downloaded and installed something newer.
- Download from http://download.novell.com/patch/fin...eywords=kernel
- E.g. 25 Feb 2013 - Linux kernel 7374 x86-64

What I needed:

- Copy onto USB stick, stick it into the server and it mounts automagically to /Media/<stick name>
- Run YaST, Software > Add-On Products (Add) > USB Mass Storage -> Select the USB Drive, give it a name etc etc.
- Search Phrase kernel, and from here upgrade the kernel version, you'll need to reboot from memory.

Hopefully your server comes back OK. I can feel your cringes from here.

3. Install kernel source
- cd to your mounted USB drive. Run following command to install the source
- # rpm -Uvh kernel-source-3.0.58-

4. Install gcc compiler
- From YaST > Software Management search and install gcc, you may need a SLES disk handy for this.

5. Make oldconfig - Maybe someone higher up can comment on what this does, but I had to do it to get everything to run
- # cd /usr/src/linux
- # make oldconfig
- This will take a while I found, grab a beer in the meantime.

6. Copy your JME Driver to your server and extract
- # cp /media/T/jmebp- /root/
- # tar -xvf jmebp-

7. Modify the Makefile
- # cd /jmebp-
- # vi Makefile
- Find the line
KSRC ?= /lib/modules/$(KVER)/build

Comment it out, and replace with:
KSRC ?= /usr/src/linux

Save the fine. Exit out.

8. Try and run the make install
- From the driver directory where the Makefile exists, run:
- # make install
- When this finishes, try and load the module
- # modprobe jme
- If this fails due to it being unsupported, run in unsupported mode:
- # modprobe jme --allow-unsupported

I think this is all I had to do, I was able to configure the NIC and was up and running. However I may have run /etc/init.d/network restart during this time, so that might be required as well.

Hopefully someone in the future is desperately googling how to do something similar and stumbles across this.