我一直试图让我的usb lan适配器与Ubuntu及其davicom dm9601一起使用。
当我运行“ make”命令时,出现错误。我相信我拥有所需的所有软件包和依赖项。运行make命令后,我得到:
chris@s59:~$ make
make: *** No targets specified and no makefile found. Stop.
chris@s59:~$ cd driver/
chris@s59:~/driver$ cd dm9601/
chris@s59:~/driver/dm9601$ make
make -C /lib/modules/4.15.0-52-generic/build M=/home/chris/driver/dm9601
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-52-generic'
CC [M] /home/chris/driver/dm9601/dm9601.o
/home/chris/driver/dm9601/dm9601.c: In function ‘ctrl_callback’:
/home/chris/driver/dm9601/dm9601.c:167:4: error: implicit declaration of functio n ‘warn’; did you mean ‘__warn’? [-Werror=implicit-function-declaration]
warn("%s: status %x",__FUNCTION__, urb->status);
^~~~
__warn
/home/chris/driver/dm9601/dm9601.c: In function ‘get_registers’:
/home/chris/driver/dm9601/dm9601.c:186:3: error: implicit declaration of functio n ‘interruptible_sleep_on’ [-Werror=implicit-function-declaration]
interruptible_sleep_on( &dbi->ctrl_wait );
^~~~~~~~~~~~~~~~~~~~~~
/home/chris/driver/dm9601/dm9601.c:210:3: error: implicit declaration of functio n ‘err’ [-Werror=implicit-function-declaration]
err("%s: BAD CTRLs %d",__FUNCTION__,ret);
^~~
/home/chris/driver/dm9601/dm9601.c: In function ‘read_bulk_callback’:
/home/chris/driver/dm9601/dm9601.c:420:3: error: implicit declaration of functio n ‘dbg’ [-Werror=implicit-function-declaration]
dbg("DM9601 Rx busy");
^~~
/home/chris/driver/dm9601/dm9601.c: In function ‘write_bulk_callback’:
/home/chris/driver/dm9601/dm9601.c:528:3: error: implicit declaration of functio n ‘info’; did you mean ‘insl’? [-Werror=implicit-function-declaration]
info("%s: TX status %d", dbi->net->name, urb->status);
^~~~
insl
/home/chris/driver/dm9601/dm9601.c:530:12: error: ‘struct net_device’ has no mem ber named ‘trans_start’; did you mean ‘mem_start’?
dbi->net->trans_start = jiffies;
^~~~~~~~~~~
mem_start
/home/chris/driver/dm9601/dm9601.c: In function ‘dm9601_tx_timeout’:
/home/chris/driver/dm9601/dm9601.c:600:32: error: ‘struct net_device’ has no mem ber named ‘priv’
dm9601_board_info_t *dbi = net->priv;
^~
/home/chris/driver/dm9601/dm9601.c: In function ‘dm9601_start_xmit’:
/home/chris/driver/dm9601/dm9601.c:616:32: error: ‘struct net_device’ has no mem ber named ‘priv’
dm9601_board_info_t *dbi = net->priv;
^~
/home/chris/driver/dm9601/dm9601.c:646:8: error: ‘struct net_device’ has no memb er named ‘trans_start’; did you mean ‘mem_start’?
net->trans_start = jiffies;
^~~~~~~~~~~
mem_start
/home/chris/driver/dm9601/dm9601.c: In function ‘dm9601_netdev_stats’:
/home/chris/driver/dm9601/dm9601.c:657:37: error: ‘struct net_device’ has no mem ber named ‘priv’
return &((dm9601_board_info_t *)dev->priv)->stats;
^~
/home/chris/driver/dm9601/dm9601.c: In function ‘init_dm9601’:
/home/chris/driver/dm9601/dm9601.c:785:55: error: ‘struct net_device’ has no mem ber named ‘priv’
dm9601_board_info_t *dbi = (dm9601_board_info_t *)net->priv;
^~
/home/chris/driver/dm9601/dm9601.c: In function ‘dm9601_open’:
/home/chris/driver/dm9601/dm9601.c:825:55: error: ‘struct net_device’ has no mem ber named ‘priv’
dm9601_board_info_t *dbi = (dm9601_board_info_t *)net->priv;
^~
/home/chris/driver/dm9601/dm9601.c: In function ‘dm9601_close’:
/home/chris/driver/dm9601/dm9601.c:865:32: error: ‘struct net_device’ has no mem ber named ‘priv’
dm9601_board_info_t *dbi = net->priv;
^~
/home/chris/driver/dm9601/dm9601.c: In function ‘dm9601_ioctl’:
/home/chris/driver/dm9601/dm9601.c:898:32: error: ‘struct net_device’ has no mem ber named ‘priv’
dm9601_board_info_t *dbi = net->priv;
^~
/home/chris/driver/dm9601/dm9601.c: In function ‘dm9601_set_multicast’:
/home/chris/driver/dm9601/dm9601.c:934:32: error: ‘struct net_device’ has no mem ber named ‘priv’
dm9601_board_info_t *dbi = net->priv;
^~
/home/chris/driver/dm9601/dm9601.c:935:35: error: ‘struct net_device’ has no mem ber named ‘mc_list’; did you mean ‘dev_list’?
struct dev_mc_list *mcptr = net->mc_list;
^~~~~~~
dev_list
/home/chris/driver/dm9601/dm9601.c:936:17: error: ‘struct net_device’ has no mem ber named ‘mc_count’
int count = net->mc_count, i, hash_val;
^~
/home/chris/driver/dm9601/dm9601.c:955:44: error: dereferencing pointer to incom plete type ‘struct dev_mc_list’
for (i = 0; i < count; i++, mcptr = mcptr->next) {
^~
/home/chris/driver/dm9601/dm9601.c: In function ‘dm9601_probe’:
/home/chris/driver/dm9601/dm9601.c:1014:2: error: implicit declaration of functi on ‘init_MUTEX’; did you mean ‘init_rwsem’? [-Werror=implicit-function-declarati on]
init_MUTEX(&dbi->ctrl_sem);
^~~~~~~~~~
init_rwsem
/home/chris/driver/dm9601/dm9601.c:1018:5: error: ‘struct net_device’ has no mem ber named ‘priv’
net->priv = dbi;
^~
/home/chris/driver/dm9601/dm9601.c:1019:5: error: ‘struct net_device’ has no mem ber named ‘open’
net->open = dm9601_open;
^~
/home/chris/driver/dm9601/dm9601.c:1020:5: error: ‘struct net_device’ has no mem ber named ‘stop’
net->stop = dm9601_close;
^~
/home/chris/driver/dm9601/dm9601.c:1022:5: error: ‘struct net_device’ has no mem ber named ‘tx_timeout’
net->tx_timeout = dm9601_tx_timeout;
^~
/home/chris/driver/dm9601/dm9601.c:1023:5: error: ‘struct net_device’ has no mem ber named ‘do_ioctl’
net->do_ioctl = dm9601_ioctl;
^~
/home/chris/driver/dm9601/dm9601.c:1024:5: error: ‘struct net_device’ has no mem ber named ‘hard_start_xmit’
net->hard_start_xmit = dm9601_start_xmit;
^~
/home/chris/driver/dm9601/dm9601.c:1025:5: error: ‘struct net_device’ has no mem ber named ‘set_multicast_list’
net->set_multicast_list = dm9601_set_multicast;
^~
/home/chris/driver/dm9601/dm9601.c:1026:7: error: ‘struct net_device’ has no mem ber named ‘get_stats’; did you mean ‘reg_state’?
net->get_stats = dm9601_netdev_stats;
^~~~~~~~~
reg_state
cc1: some warnings being treated as errors
scripts/Makefile.build:337: recipe for target '/home/chris/driver/dm9601/dm9601. o' failed
make[2]: *** [/home/chris/driver/dm9601/dm9601.o] Error 1
Makefile:1552: recipe for target '_module_/home/chris/driver/dm9601' failed
make[1]: *** [_module_/home/chris/driver/dm9601] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-52-generic'
Makefile:37: recipe for target 'default' failed
make: *** [default] Error 2
chris@s59:~/driver/dm9601$
我不明白这是什么意思