You are not logged in.
Hi.
I've got laptop ASUS K52Je. The ethernet controller doesn't work. It is detected by the kernel:
lspci | grep Jmicron
05:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller (rev 80)
05:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller (rev 80)
05:00.3 System peripheral: JMicron Technology Corp. MS Host Controller (rev 80)
05:00.4 System peripheral: JMicron Technology Corp. xD Host Controller (rev 80)
05:00.5 Ethernet controller: JMicron Technology Corp. JMC250 PCI Express Gigabit Ethernet Controller (rev 03)and by the ifconfig -a
ens5f5: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether ff:ff:ff:ff:ff:ff txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0but it's down and I can't set it up.
ip link set dev ens5f5 up
RTNETLINK answers: Cannot assign requested addressdhcpcd doesn't work too.
dhcpcd[3623]: version 6.0.5 starting
dhcpcd[3623]: ens5f5: up_interface: Cannot assign requested address
dhcpcd[3623]: ens5f5: waiting for carrier
dhcpcd[3623]: timed out
dhcpcd[3623]: exitedThis ethernet interface is controlled by jme kernel module. It is loaded automaticly while booting.
lsmod | grep jme
jme 45368 0
mii 4027 1 jmeI also tried compiling this module direclty from the producer webiste, but errors occured while 'make install'::
make[1]: Entering directory '/usr/src/linux-3.11.6-1-ARCH'
CC [M] /home/grzegorz/driver/jmebp-1.0.8.5/jme.o
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c: In function 'jme_alloc_and_feed_skb':
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:1121:4: error: too few arguments to function '__vlan_hwaccel_put_tag'
__vlan_hwaccel_put_tag(skb, vid);
^
In file included from /home/grzegorz/driver/jmebp-1.0.8.5/jme.c:45:0:
include/linux/if_vlan.h:236:31: note: declared here
static inline struct sk_buff *__vlan_hwaccel_put_tag(struct sk_buff *skb,
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c: At top level:
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:3444:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'jme_init_one'
jme_init_one(struct pci_dev *pdev,
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:3732:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'jme_remove_one'
jme_remove_one(struct pci_dev *pdev)
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:3901:20: error: 'jme_init_one' undeclared here (not in a function)
.probe = jme_init_one,
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:3902:2: error: implicit declaration of function '__devexit_p' [-Werror=implicit-function-declaration]
.remove = __devexit_p(jme_remove_one),
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:3902:32: error: 'jme_remove_one' undeclared here (not in a function)
.remove = __devexit_p(jme_remove_one),
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:300:1: warning: 'jme_reload_eeprom' defined but not used [-Wunused-function]
jme_reload_eeprom(struct jme_adapter *jme)
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:330:1: warning: 'jme_load_macaddr' defined but not used [-Wunused-function]
jme_load_macaddr(struct net_device *netdev)
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:1276:1: warning: 'jme_pcc_tasklet' defined but not used [-Wunused-function]
jme_pcc_tasklet(unsigned long arg)
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:1468:13: warning: 'jme_LC_task' defined but not used [-Wunused-function]
static void jme_LC_task(struct work_struct *work)
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:1572:1: warning: 'jme_link_change_tasklet' defined but not used [-Wunused-function]
jme_link_change_tasklet(unsigned long arg)
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:1662:1: warning: 'jme_poll' defined but not used [-Wunused-function]
jme_poll(JME_NAPI_HOLDER(holder), JME_NAPI_WEIGHT(budget))
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:1687:1: warning: 'jme_rx_empty_tasklet' defined but not used [-Wunused-function]
jme_rx_empty_tasklet(unsigned long arg)
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:1724:1: warning: 'jme_tx_clean_tasklet' defined but not used [-Wunused-function]
jme_tx_clean_tasklet(unsigned long arg)
^
/home/grzegorz/driver/jmebp-1.0.8.5/jme.c:3360:1: warning: 'jme_pci_dma64' defined but not used [-Wunused-function]
jme_pci_dma64(struct pci_dev *pdev)
^
cc1: some warnings being treated as errors
scripts/Makefile.build:314: recipe for target '/home/grzegorz/driver/jmebp-1.0.8.5/jme.o' failed
make[2]: *** [/home/grzegorz/driver/jmebp-1.0.8.5/jme.o] Error 1
Makefile:1225: recipe for target '_module_/home/grzegorz/driver/jmebp-1.0.8.5' failed
make[1]: *** [_module_/home/grzegorz/driver/jmebp-1.0.8.5] Error 2
make[1]: Leaving directory '/usr/src/linux-3.11.6-1-ARCH'
Makefile:27: recipe for target 'modules' failed
make: *** [modules] Error 2I also tried installing it from AUR, it's called jme-git. It installes with no problem, but the interface still doesn't work.
I tried different linux distributions, none of them had this module working. Wifi controller works great. I had no problem with configuring it. Hope you guys help me.
Offline
Newer kernel versions don't have __devinit, __devexit anymore. This is why it gives the compilation error.
Some useful info:
http://elinux.org/Kernel_3.4_to_3.10_porting_guide
You can appy this patch to get compilation working:
Index: jmebp-1.0.8.5/jme.c
===================================================================
--- jmebp-1.0.8.5.orig/jme.c 2011-12-01 05:48:53.000000000 -0200
+++ jmebp-1.0.8.5/jme.c 2014-04-08 07:57:46.378852689 -0300
@@ -3440,8 +3440,7 @@
};
#endif
-static int __devinit
-jme_init_one(struct pci_dev *pdev,
+static int jme_init_one(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
int rc = 0, using_dac, i;
@@ -3728,7 +3727,7 @@
return rc;
}
-static void __devexit
+static void
jme_remove_one(struct pci_dev *pdev)
{
struct net_device *netdev = pci_get_drvdata(pdev);
@@ -3899,7 +3898,7 @@
.name = DRV_NAME,
.id_table = jme_pci_tbl,
.probe = jme_init_one,
- .remove = __devexit_p(jme_remove_one),
+ .remove = jme_remove_one,
.shutdown = jme_shutdown,
#ifndef JME_NEW_PM_API
.suspend = jme_suspend,Offline