Comment 16 for bug 880316

Revision history for this message
Paul Hewlett (phewlett76) wrote : Re: Ubuntu installer can't setup network on Shuttle XS35GTV2

I just added this driver to ubuntu 13.04. The current version does not compile as it still uses the __dev* macros for hotplug devices which have now been removed from the kernel. (cleanup of driver initialisation code to save memory is no longer done)

Kernel 3.8.0-26-generic -

I modified jme.c from the downloaded tarball:

- remove '__devinit' from declaration of jme_init_one() at about line 3444
- remove function 'jme_remove_one' in its entirety at about line 3732
- remove '.remove = __devexit_p(jme_init_one)' from 'jme_driver' structure at about line 3905

A better way to do the above changes is to add a conditional on the kernel version and define the '__dev*' macros as blank.

Issuing 'make' and 'make install' now works and the ethernet interface is active and functional after a reboot.

A complete script to do this(note that the download is commented out as I have now modified the driver and do not want to overwrite the changes:

#!/bin/sh
apt-get install linux-headers-$(uname -r) build-essential
if [ $? -ne 0 ]
then
 echo "Failure to install headers and build-essential"
 exit 1
fi
#wget ftp://driver.jmicron.com.tw/Ethernet/Linux/jmebp-1.0.8.5.tar.bz
#if [ $? -ne 0 ]
#then
# echo "Failure to wget jmicron drivers"
# exit 2
#fi
#tar xvf jmebp-1.0.8.5.tar.bz
#if [ $? -ne 0 ]
#then
# echo "Failure to untar jmicron drivers"
# exit 3
#fi
cd jmebp-1.0.8.5
if [ $? -ne 0 ]
then
 echo "Failure to cd to jmicron directory"
 exit 4
fi
make
if [ $? -ne 0 ]
then
 echo "Failure to make jmicron drivers"
 exit 5
fi
make install
if [ $? -ne 0 ]
then
 echo "Failure to install jmicron drivers"
 exit 6
fi
update-initramfs -u
if [ $? -ne 0 ]
then
 echo "Failure to regenerate initramfs file"
 exit 7
fi
echo "Try rebooting to see if eth0 comes up"
exit 0