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
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 p(jme_init_ one)' from 'jme_driver' structure at about line 3905
- remove function 'jme_remove_one' in its entirety at about line 3732
- remove '.remove = __devexit_
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 $(uname -r) build-essential jmicron. com.tw/ Ethernet/ Linux/jmebp- 1.0.8.5. tar.bz 0.8.5.tar. bz
apt-get install linux-headers-
if [ $? -ne 0 ]
then
echo "Failure to install headers and build-essential"
exit 1
fi
#wget ftp://driver.
#if [ $? -ne 0 ]
#then
# echo "Failure to wget jmicron drivers"
# exit 2
#fi
#tar xvf jmebp-1.
#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