我最初设法让我的 tp-link archer T2U 在我的计算机上工作,但在我安装了一些显示驱动程序后,它似乎决定停止工作,不知道为什么。我尝试重新安装驱动程序,但似乎不起作用......
我是 Linux 新手,所以不太清楚自己在做什么
编辑: lsusb 的输出
Bus 003 Device 002: ID 0bda:0161 Realtek Semiconductor Corp. Mass Storage Device
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 011 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 010 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 148f:761a Ralink Technology, Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120 for Business
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 002: ID 058f:6387 Alcor Micro Corp. Flash Drive
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
3.13.0-66-generic
尝试运行 make install 时出错
$ sudo make install
make -C UTIL/ install_util
make[1]: Entering directory `/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL'
make -C /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux -f Makefile.6.util install
make[2]: Entering directory `/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux'
install -d /lib/modules/3.13.0-66-generic/kernel/drivers/net/wireless/
install -m 644 -c mt7650u_sta_util.ko /lib/modules/3.13.0-66-generic/kernel/drivers/net/wireless/
install: cannot stat ‘mt7650u_sta_util.ko’: No such file or directory
make[2]: *** [install] Error 1
make[2]: Leaving directory `/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux'
make[1]: *** [install_util] Error 2
make[1]: Leaving directory `/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL'
make: *** [install] Error 2
运行 make 时出错
make
make -C UTIL/ osutil
make[1]: Entering directory `/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL'
cp -f os/linux/Makefile.6.util /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/Makefile
make -C /lib/modules/3.13.0-66-generic/build SUBDIRS=/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux modules
make[2]: Entering directory `/usr/src/linux-headers-3.13.0-66-generic'
CC [M] /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../common/rt_os_util.o
CC [M] /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux_symb.o
CC [M] /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_rbus_pci_util.o
CC [M] /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_usb_util.o
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_usb_util.c: In function ‘rausb_fill_bulk_urb’:
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_usb_util.c:425:2: warning: passing argument 6 of ‘usb_fill_bulk_urb’ from incompatible pointer type [enabled by default]
usb_fill_bulk_urb(urb, dev, pipe, transfer_buffer, buffer_length, complete_fn, context);
^
In file included from /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/os/rt_linux.h:40:0,
from /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/rtmp_os.h:48,
from /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/rtmp_comm.h:62,
from /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_usb_util.c:18:
include/linux/usb.h:1523:20: note: expected ‘usb_complete_t’ but argument is of type ‘USB_COMPLETE_HANDLER’
static inline void usb_fill_bulk_urb(struct urb *urb,
^
CC [M] /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.o
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsUsDelay’:
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:179:8: warning: unused variable ‘i’ [-Wunused-variable]
ULONG i;
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c: In function ‘ClonePacket’:
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:664:20: warning: assignment makes integer from pointer without a cast [enabled by default]
pClonedPkt->tail = pClonedPkt->data + pClonedPkt->len;
^
In file included from /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/rtmp_os.h:48:0,
from /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/rtmp_comm.h:62,
from /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:34:
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsPktInit’:
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/os/rt_linux.h:893:34: warning: assignment makes integer from pointer without a cast [enabled by default]
((RTPKT_TO_OSPKT(_pkt))->tail) = (PUCHAR)((_start) + (_len))
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:683:2: note: in expansion of macro ‘SET_OS_PKT_DATATAIL’
SET_OS_PKT_DATATAIL(pRxPkt, pData, DataSize);
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c: In function ‘wlan_802_11_to_802_3_packet’:
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:709:15: warning: assignment makes integer from pointer without a cast [enabled by default]
pOSPkt->tail = pOSPkt->data + pOSPkt->len;
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpDrvAllRFPrint’:
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:2051:4: warning: passing argument 2 of ‘file_w->f_op->write’ from incompatible pointer type [enabled by default]
file_w->f_op->write(file_w, pBuf, BufLen, &file_w->f_pos);
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:2051:4: note: expected ‘const char *’ but argument is of type ‘UINT32 *’
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:2036:22: warning: unused variable ‘macValue’ [-Wunused-variable]
UINT32 macAddr = 0, macValue = 0;
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:2036:9: warning: unused variable ‘macAddr’ [-Wunused-variable]
UINT32 macAddr = 0, macValue = 0;
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSIRQRelease’:
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:2172:21: warning: unused variable ‘net_dev’ [-Wunused-variable]
struct net_device *net_dev = (struct net_device *)pNetDev;
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsFreeSpinLock’:
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:4266:8: warning: assignment from incompatible pointer type [enabled by default]
pLock = (OS_NDIS_MINIPORT_TIMER *) (pLockOrg->pContent);
^
In file included from /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/rtmp_os.h:48:0,
from /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/rtmp_comm.h:62,
from /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:34:
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOsPktTailAdjust’:
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/os/rt_linux.h:893:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
((RTPKT_TO_OSPKT(_pkt))->tail) = (PUCHAR)((_start) + (_len))
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/os/rt_linux.h:917:2: note: in expansion of macro ‘SET_OS_PKT_DATATAIL’
SET_OS_PKT_DATATAIL(_pkt, GET_OS_PKT_DATATAIL(_pkt), (-_removedTagLen)); \
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:5200:2: note: in expansion of macro ‘OS_PKT_TAIL_ADJUST’
OS_PKT_TAIL_ADJUST(pNetPkt, removedTagLen);
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/os/rt_linux.h:893:34: warning: assignment makes integer from pointer without a cast [enabled by default]
((RTPKT_TO_OSPKT(_pkt))->tail) = (PUCHAR)((_start) + (_len))
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/include/os/rt_linux.h:917:2: note: in expansion of macro ‘SET_OS_PKT_DATATAIL’
SET_OS_PKT_DATATAIL(_pkt, GET_OS_PKT_DATATAIL(_pkt), (-_removedTagLen)); \
^
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/../../os/linux/rt_linux.c:5200:2: note: in expansion of macro ‘OS_PKT_TAIL_ADJUST’
OS_PKT_TAIL_ADJUST(pNetPkt, removedTagLen);
^
LD [M] /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/mt7650u_sta_util.o
Building modules, stage 2.
MODPOST 1 modules
CC /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/mt7650u_sta_util.mod.o
LD [M] /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL/os/linux/mt7650u_sta_util.ko
make[2]: Leaving directory `/usr/src/linux-headers-3.13.0-66-generic'
make[1]: Leaving directory `/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/UTIL'
/bin/sh cp_util.sh
make -C MODULE/ build_tools
make[1]: Entering directory `/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/MODULE'
make -C tools
make[2]: Entering directory `/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/MODULE/tools'
gcc -g bin2h.c -o bin2h
make[2]: Leaving directory `/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/MODULE/tools'
/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/MODULE/tools/bin2h
make[1]: execvp: /media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/MODULE/tools/bin2h: Permission denied
make[1]: *** [build_tools] Error 127
make[1]: Leaving directory `/media/steve/3698-C654/Archer_T2U_V1_150901/Archer_T2U_V1_150901/MODULE'
make: *** [all] Error 2
答案1
看起来该驱动程序不是为内核 3.13.0-66-generic 构建的。
从理论上来说,可以将代码适配到该内核,但恕我直言,这不值得付出努力。
您的设备完全支持内核 4.2。您可以用以下方法修复它:
使用 grub 菜单启动以前的内核。它应该可以正常工作。
你可以等上一两周,等 4.2 出现在 Ubuntu 14.04 的官方仓库中。然后你就可以安装它了
sudo apt-get install linux-generic-lts-wily
或者立即从 PPA 安装:
sudo add-apt-repository ppa:canonical-kernel-team/ppa
sudo apt-get update
sudo apt-get install linux-generic-lts-wily
安装新内核后,请不要忘记重新启动。
我建议检查 4.2 内核是否已上传至主存储库并稍后删除 PPA。