저는 Kali를 처음 사용하는데 StackExchange의 누군가가 문제를 해결하려면 다음 단계를 따르라고 말하는 것을 보았습니다. 시도했지만 다음과 같은 오류가 발생했습니다. 제 경우에는 펌웨어에 문제가 있는 것 같습니다. 도와주세요.
제공되는 솔루션:
거의 모든 HP 노트북에는 이 문제가 있습니다. 즉, WiFi 어댑터에는 안테나가 하나만 있으므로 다른 펌웨어를 설치해야 합니다. 이런 일을 계속 반복해야 해서 대본을 만들었어요. USB 테더링을 사용하여 이더넷 연결을 연결하고
fixwifi.sh
다음을 사용하여 파일을 만듭니다.
nano fixwifi.sh
콘텐츠 복사
apt install linux-headers-$(uname -r) git build-essential dkms
git clone git clone -b extended https://github.com/lwfinger/rtlwifi_new.git
sudo dkms add ./rtlwifi_new
sudo dkms install rtlwifi-new/0.6
sudo modprobe -r rtl8723de && sudo modprobe rtl8723de
echo "options rtl8723de ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723de.conf
문서 저장
Ctrl+ S및 Ctrl+X
그것을 사용하여 실행
chmod +x fixwifi.sh && ./fixwifi.sh
이제 가셔도 됩니다.
Error:Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.8).
dkms is already the newest version (2.8.2-2).
git is already the newest version (1:2.27.0-1).
linux-headers-5.6.0-kali2-amd64 is already the newest version (5.6.14-2kali1).
0 upgraded, 0 newly installed, 0 to remove and 884 not upgraded.
fatal: Too many arguments.
용법:git clone [<options>] [--] <repo> [<dir>]
-v, --verbose be more verbose
-q, --quiet be more quiet
--progress force progress reporting
-n, --no-checkout don't create a checkout
--bare create a bare repository
--mirror create a mirror repository (implies bare)
-l, --local to clone from a local repository
--no-hardlinks don't use local hardlinks, always copy
-s, --shared setup as shared repository
--recurse-submodules[=<pathspec>]
initialize submodules in the clone
--recursive ... alias of --recurse-submodules
-j, --jobs <n> number of submodules cloned in parallel
--template <template-directory>
directory from which templates will be used
--reference <repo> reference repository
--reference-if-able <repo>
reference repository
--dissociate use --reference only while cloning
-o, --origin <name> use <name> instead of 'origin' to track upstream
-b, --branch <branch>
checkout <branch> instead of the remote's HEAD
-u, --upload-pack <path>
path to git-upload-pack on the remote
--depth <depth> create a shallow clone of that depth
--shallow-since <time>
create a shallow clone since a specific time
--shallow-exclude <revision>
deepen history of shallow clone, excluding rev
--single-branch clone only one branch, HEAD or --branch
--no-tags don't clone any tags, and make later fetches not to follow them
--shallow-submodules any cloned submodules will be shallow
--separate-git-dir <gitdir>
separate git dir from working tree
-c, --config <key=value>
set config inside the new repository
--server-option <server-specific>
option to transmit
-4, --ipv4 use IPv4 addresses only
-6, --ipv6 use IPv6 addresses only
--filter <args> object filtering
--remote-submodules any cloned submodules will use their remote-tracking branch
--sparse initialize sparse-checkout file to include only files at root
실수!
Could not find module source directory.
Directory: /usr/src/.-rtlwifi_new does not exist.
Error! Could not find module source directory.
Directory: /usr/src/rtlwifi-new-0.6 does not exist.
modprobe: FATAL: Module rtl8723de not found.
options rtl8723de ant_sel=2
내 $ lspci -vq
결과
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
DeviceName: Hanksville Gbe Lan Connection
Subsystem: Hewlett-Packard Company RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
Flags: bus master, fast devsel, latency 0, IRQ 16
I/O ports at 4000 [size=256]
Memory at b1104000 (64-bit, non-prefetchable) [size=4K]
Memory at b1100000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 01
Capabilities: [b0] MSI-X: Enable+ Count=4 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Virtual Channel
Capabilities: [160] Device Serial Number 01-00-00-00-68-4c-e0-00
Capabilities: [170] Latency Tolerance Reporting
Capabilities: [178] L1 PM Substates
Kernel driver in use: r8169
Kernel modules: r8169
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723DE 802.11b/g/n PCIe Adapter
DeviceName: Hanksville Gbe Lan Connection
Subsystem: Hewlett-Packard Company RTL8723DE 802.11b/g/n PCIe Adapter
Flags: bus master, fast devsel, latency 0, IRQ 11
I/O ports at 3000 [size=256]
Memory at b1000000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Virtual Channel
Capabilities: [168] Device Serial Number 00-e0-4c-00-00-00-00-00
Capabilities: [178] Latency Tolerance Reporting
Capabilities: [180] L1 PM Substates
Kernel modules: wl
iwconfig results:
lo no wireless extensions.
eth0 no wireless extensions.
usb0 no wireless extensions.
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
wlan1 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
hwsim0 no wireless extensions.
ifconfig results:
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 18:60:24:14:83:0b 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 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 12 bytes 556 (556.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12 bytes 556 (556.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.42.53 netmask 255.255.255.0 broadcast 192.168.42.255
inet6 2401:4900:2586:2d5e:d805:78ff:fe65:65b3 prefixlen 64 scopeid 0x0<global>
inet6 fe80::d805:78ff:fe65:65b3 prefixlen 64 scopeid 0x20<link>
inet6 2401:4900:2586:2d5e:fd3a:dc44:a795:21ca prefixlen 64 scopeid 0x0<global>
ether da:05:78:65:65:b3 txqueuelen 1000 (Ethernet)
RX packets 32851 bytes 37101808 (35.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 21202 bytes 3335363 (3.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 52:fd:b2:36:a8:38 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 0
wlan1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 72:06:d6:de:52:48 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 0
답변1
첫 번째 실제 오류 메시지는 다음과 같습니다.
fatal: Too many arguments.
usage: git clone [<options>] [--] <repo> [<dir>]
[... rest of git usage message omitted ...]
git clone
이는 스크립트의 명령에 어떤 항목이 있어서는 안 된다는 것을 알려줍니다. 관련 라인은 다음과 같습니다:
git clone git clone -b extended https://github.com/lwfinger/rtlwifi_new.git
이것은 반복되어서는 안됩니다 git clone
.
후속 오류 메시지는 첫 번째 실패로 인해 발생합니다. 모듈의 소스 코드를 git
다운로드할 수 없기 때문에 rtl8723de
해당 소스 코드를 컴파일하고 결과 드라이버를 설치하는 명령도 물론 실패합니다.
출력 에는 드라이버가 현재 RTL8723DE 카드를 사용하고 있으며 스크립트는 이를 변경하지 않는다는 lspci -vq
내용도 나와 있습니다 .wl
만약 당신이 실제로스크립트가 다운로드할 드라이버의 GitHub 페이지를 읽습니다., 다음과 같은 텍스트가 표시됩니다.
이 저장소의 마스터 브랜치는 공식적으로 폐기되었습니다. 5.0보다 높은 커널 버전을 실행하는 경우 커널에 내장된 드라이버를 사용하십시오. 이렇게 하면 작업량이 훨씬 줄어듭니다.
스크립트가 사용하려는 브랜치의 하위 페이지를 보면 extended
다음도 찾을 수 있습니다.
이 저장소의 확장 브랜치는 공식적으로 폐기되었습니다. 5.0보다 높은 커널 버전을 실행하는 경우 커널에 내장된 드라이버를 사용하십시오. 이렇게 하면 작업량이 훨씬 줄어듭니다.
두 가지 모두에는 다음 권장 사항도 포함되어 있습니다.
Realtek RTL8723DE, RTL8822BE, RTL8822CE 또는 RTL8821CE를 사용하는 경우 rtw88 분기가 필요합니다.
이는 여러분이 사용해 보아야 할 제안과 스크립트를 제안합니다.구식일 수 있음제안과 스크립트가 작성된 이후 Kali의 드라이버 개발 및 커널 릴리스는 계속해서 개선되었습니다.
하지만 여전히 이 드라이버를 사용해보고 싶다면 이 스크립트의 수정된 버전을 권장합니다.
apt install linux-headers-$(uname -r) git build-essential dkms
git clone -b rtw88 https://github.com/lwfinger/rtlwifi_new.git
sudo dkms add ./rtlwifi_new
sudo dkms install rtlwifi-new/0.6
echo "options rtl8723de ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723de.conf
echo "blacklist wl" | sudo tee -a /etc/modprobe.d/rtl8723de.conf
sudo modprobe -r rtl8723de wl && sudo modprobe rtl8723de
따라서 해당 행을 수정 git clone
하면 중복 명령이 제거되고 드라이버 분기가 더 이상 사용되지 않음에서 extended
현재 권장 으로 변경됩니다 rtw88
. wl
새 rt8723de
모듈로 교체할 수 있도록 현재 드라이버에 대한 블랙리스트를 추가했습니다 . 또한 모듈이 실제로 다시 시작하지 않고 로드되는 경우에도 해당 옵션을 선택하도록 작업 순서를 약간 변경했습니다 ant_sel=2
. 하지만 카드가 이미 활성화되어 있으므로 스크립트가 이전 드라이버를 제거하지 못할 수 있으므로 스크립트를 실행한 후 재부팅해야 할 수도 있습니다.
새 드라이버가 전혀 작동하지 않는 경우 시스템 구성을 시작한 위치로 되돌리는 방법은 다음과 같습니다.
sudo rm /etc/modprobe.d/rtl8723de.conf
sudo dkms remove rtlwifi-new/0.6 --all