수동으로 설치된 드라이버 제거(무선 USB)

수동으로 설치된 드라이버 제거(무선 USB)

무선 USB 동글용 드라이버를 Linux(KDE)에서 감지하지 못해서 다운로드하여 설치했습니다. 어떤 모델인지는 잘 모르겠지만 Ralink RT2870(브랜드 이름 IPTime N150UA)인 것 같습니다. 드라이버를 다운로드하고 새 커널 버전(3 이상)과 호환되도록 파일을 패치했습니다.이 페이지마지막으로 페이지에 표시된 대로 설치합니다. 그러면 Wi-Fi 어댑터가 감지되어 네트워크에 연결할 수 있습니다. 문제는 SSH를 사용하거나 라우터에서 웹 페이지를 열 때마다 컴퓨터 전체가 작동을 멈추고 종료해야 한다는 것입니다. 이제 이 드라이버를 제거하고 싶습니다. 인터넷에서 검색했지만 유용한 정보를 찾을 수 없습니다. lshw를 실행하면 무선 드라이버가 표시됩니다.

설명: 무선 인터페이스
물리적 ID: 1
논리적 이름: ra0
일련 번호: 64:e5:99:f6:33:60
기능: 이더넷 물리적 무선
구성: 브로드캐스트=예 드라이버=RALINK WLAN ip=192.168.1.8 멀티캐스트= 예 무선= 라링크 타워

중간에 공백이 있는 매우 이상한 드라이버 이름입니다. RALINK WLAN에 들어갈 때 두 개의 다른 드라이버 이름이라고 생각하기 때문에 드라이버에 대한 추가 정보를 얻는 방법에 대한 일부 튜토리얼도 따를 수 없습니다. 어떻게 해야 합니까?

답변1

당신의 말에 따르면협회드라이버의 파일 이름은 mt7601Usta.ko( .ko커널 모듈의 확장명)이어야 합니다.

커널 모듈은 일반적으로 에 설치되므로 /lib/modules/$(uname -r)올바른 모듈이라고 확신하는 경우 find /lib/modules/$(uname -r) -name mt7601Usta.kothen을 사용하여 제거하십시오(또는 다음에 부팅할 때 로드되지 않도록 모듈 트리 밖으로 이동하십시오).sudo rmmv

하지만 먼저 모듈을 제거해야 할 수도 있습니다.

명령을 사용하여 lsmod현재 로드된 모듈을 보고 rmmod현재 세션에 대한 모듈을 언로드할 수 있습니다(다음 시작 시 다시 로드됨). 이름이 lsmod항상 파일 이름과 일치하는 것은 아닙니다.

lsmod결과를 통해 modinfo명령을 사용하여 모듈에 대한 정보를 얻을 수 있습니다(예: modinfo <modulename>)

사용 중인 배포판에 따라 다음이 가능할 수도 있습니다.블랙리스트/etc/modprobe.d/blacklist.conf시작할 때 로드되지 않도록 줄을 추가하세요.

blacklist mt7601Usta

blacklist.conf파일이 없으면 새 파일 추가

sudo sh -c 'echo "blacklist mt7601Usta" >/etc/modprobe.d/no-mt7601Usta.conf'

당신은 또한 수블랙리스트커널 명령줄(예: grub 부트로더)에서 가져옵니다.

modprobe.blacklist=mt7601Usta

답변2

다운로드한 드라이버 소스의 "Makefile"을 봅니다. 다음과 같이 "install"이라는 블록이 있습니다.

install: #dependencies
    #some stuff
    #some more stuff

드라이버를 설치하기 위해 입력하는 경우 make some_keyword"install" 대신 "some_keyword"로 시작하는 블록을 찾으세요.

make install이 블록의 명령은 암호를 입력하고 입력하면 실행됩니다. 이 블록에는 드라이버 파일을 컴파일 디렉터리에서 다른 디렉터리(대부분 "/usr/lib" 위치)로 이동하고 이러한 명령을 찾아 언급된 모든 파일을 삭제하는 일부 명령이 포함됩니다.

명령을 실행하면 grep 'mv ' Makefile'쉽게 찾을 수 있습니다. makefile의 이름이 "makefile"이나 다른 이름이 아니라 "Makefile"이라고 가정한다고 가정합니다.

중요한 점은 실제로 시스템을 수정하는 명령이 makefile의 설치 블록에 있으므로 해당 명령에 루트 권한을 부여해야 한다는 것입니다. 나머지는 컴파일 지시문입니다.

관련 정보