Recenzja: Karta WiFi TP-LINK TL-WN823N
Spis treści
Jako mobilny osobnik wiem jak ważne są niewielkie rozmiary sprzętu, na którym przyjdzie mi operować gdzieś poza miejscem mojego zamieszkania. Wielkość urządzeń ma zatem dla mnie ogromne znaczenie. Nikogo raczej nie trzeba przekonywać, że wraz z miniaturyzacją sprzętu, maleje również jego funkcjonalność. Idealne urządzenie to takie, które ma na tyle małe wymiary, by za ich sprawą nie ucierpiały wszystkie te niezbędne nam dobrodziejstwa oferowane przez nowe technologie. Bez internetu w obecnych czasach ani rusz, zatem potrzebne nam są różnego rodzaju adaptery i karty WiFi umożliwiające naszym komputerom bezprzewodowe połączenie sieciowe. Jest cała masa urządzeń, które moglibyśmy podłączyć do naszych laptopów ale nie wszystkie z nich mają na tyle małe wymiary, by ich zastosowanie było dla nas iście komfortowe. TP-LINK dysponuje w swojej ofercie kilkoma bezprzewodowymi kartami sieciowymi w standardzie micro/mini. W tym wpisie zobaczymy jak na linux'ie będzie sprawował się mini adapter TL-WN823N.
Zawartość pudełka
W pudełku poza samym adapterem TL-WN823N mamy również trochę makulatury, w tym też instrukcję obsługi, oraz płytkę ze sterownikami. Instrukcja jest w kilku językach, min. również i po polsku. Poniżej znajdują się fotki opakowania oraz jego zawartości:
Jak widzimy, karta ma interfejs USB 2.0 oraz posiada przycisk WPS. Na dobrą sprawę w przypadku mojego laptopa, ta karta jest zwrócona tym przyciskiem w dół. W efekcie zostaje mi może 1,5 cm przestrzeni, by ten przycisk wcisnąć, co nie jest chyba wykonalne bez uszkadzania samej karty czy też i portu USB w laptopie. Sam przycisk bardzo ciężko się wciska, zwłaszcza, gdy adapter jest w porcie USB. Oczywiście można korzystać z przedłużki ale takowej do zestawu nie dołączono, w końcu to mini adapter. Poniżej jest fotka adaptera TL-WN823N w porcie USB mojego laptopa:
Nie przypadła mi do gustu również ta skuwka, z którą karta może i dobrze się prezentuje ale trzeba ten zbędny dodatek zdejmować i ciągle pilnować, by go nie zgubić. To mniej więcej tyle z pierwszego wrażenia po wyjęciu adaptera z pudełka. Zobaczmy, czy zadziała on nam bezproblemowo pod linux'em.
Adapter TL-WN823N i jego dwie wersje
Zgodnie z tym, co można wyczytać na stronie TP-LINK'a, adapter TL-WN823N ma dwie różne wersje: V1 i V2 . W tym przypadku trafiła mi się wersja V2. Niestety to urządzenie w tej wersji nie jest w ogóle rozpoznawane przez mojego Debiana z kernelem 4.6 i chyba jest to regułą w przypadku wszystkich pozostałych linux'ów. Po podłączeniu urządzenia do portu USB, w logu systemowym pojawiają się tylko te poniższe komunikaty:
kernel: usb 2-1.3: new high-speed USB device number 10 using ehci-pci
kernel: usb 2-1.3: New USB device found, idVendor=2357, idProduct=0109
kernel: usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 2-1.3: Product: 802.11n NIC
kernel: usb 2-1.3: Manufacturer: Realtek
kernel: usb 2-1.3: SerialNumber: 00e04c000001
mtp-probe[33755]: checking bus 2, device 10: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"
mtp-probe[33755]: bus: 2, device: 10 was not an MTP device
Urządzenie jest wykrywane jako idVendor=2357
oraz idProduct=0109
ale kernel nie ma dla niego
stosownego modułu. W rezultacie nie jest rejestrowany nowy interfejs sieciowy sieciowy i nie damy
rady wejść w interakcję z kartą TL-WN823N v2 na linux'ie, przynajmniej nie zaraz po jej podłączeniu
do portu USB naszego laptopa czy komputera.
Sterowniki dla TL-WN823N od TP-LINK
Na stronie TP-LINK'a są niby sterowniki do karty TL-WN823N V2. Niemniej jednak, przy ich kompilacji na kernelu 4.6 jest zwracany bliżej nie znany mi błąd. W efekcie kompilacja nie może być kontynuowana i nici ze sterownika. Oczywiście na stronie mamy wzmiankę, że sterownik jest przeznaczony dla kernela w wersji 2.6.18 - 3.10.10 ale przydałoby się go od czasu do czasu zaktualizować. Nawet stabilny Debian ma kernela w wersji 3.16, a wszyscy wiemy, że nikt z niego nie korzysta, bo za stary.
Moduł 8192eu (rtl8192eu)
No nic, zostawmy te nieszczęsne sterowniki od TP-LINK'a i spróbujmy znaleźć jakieś alternatywne
rozwiązanie. Z tego co można było wyczytać na wikidev, adapter w wersji V1 był rozpoznawany przez
system i działał w oparciu o moduł rtl8192cu
. W przypadku V2 potrzebny nam jest moduł 8192eu
(rtl8192eu), a takim kernel linux'a póki co nie dysponuje. Niemniej jednak, sami możemy
skompilować sobie moduł 8192eu i podczepić go pod mechanizm DKMS. Trzeba tylko wyraźnie
zaznaczyć, że moduł jest bardzo ale to bardzo niestabilny i może powodować całą masę problemów.
Niemniej jednak, karta TL-WN823N potrafi działać na nim dość dobrze.
Specyfikacja karty TL-WN823N
Karta TL-WN823N działa w paśmie 2,4 GHz (standard N) i teoretycznie może osiągnąć 300 mbit/s.
Niestety nie dam rady zamieścić wyjścia polecenia iw list
z powodu braku wsparcia sterownika karty
dla interfejsu nl80211. Inne narzędzia operujące na tym interfejsie, np. crda
, hostapd
czy też wpa_supplicant
również będą mieć problemy z obsługą tej karty.
Poniżej jest zaś jedynie wyjście polecenia lsusb
:
# lsusb -vvv -d 2357:0109
Bus 002 Device 047: ID 2357:0109
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x2357
idProduct 0x0109
bcdDevice 2.00
iManufacturer 1 Realtek
iProduct 2 802.11n NIC
iSerial 3 00e04c000001
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 53
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 5
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 802.11n NIC
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 EP 6 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 3
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x08 EP 8 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 12
bNumDeviceCaps 1
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000002
Link Power Management (LPM) Supported
Device Status: 0x0001
Self Powered
Tryb monitor
Na chwilę obecną moduł 8192eu
nie pozwala na przełączenie karty TL-WN823N w tryb monitor.
Tryb oszczędzania energii
Tryb oszczędzania energii w przypadku adaptera TL-WN823N zdaje się działać i to nawet poprawnie.
Choć oczywiście jak to na linux'ach bywa, ten tryb może powodować problemy. Jeśli przeglądanie
stron www odbywa się z wyraźnym opóźnieniem lepiej jest ten tryb wyłączyć. Można to zrobić przez
załadowanie modułu 8192eu
z odpowiednimi opcjami. W tym celu wystarczy dopisać do pliku
/etc/modprobe.d/modules.conf
poniższą linijkę:
options 8192eu rtw_power_mgnt=0
Programowy WPS
Może i karta TL-WN823N posiada przycisk WPS ale w przypadku laptopów jest on kompletnie bezużyteczny. Poza tym, na linux'ie i tak nie działa. Niemniej jednak ten adapter ma zaimplementowaną obsługę programowego WPS, który działa mniej więcej na takiej samej zasadzie co ten fizyczny, z tym, że z poziomu systemu operacyjnego "wciskamy" wirtualny przycisk.
Tryb AP
Na chwilę obecną moduł 8192eu
nie pozwala na przełączenie karty TL-WN823N w tryb AP.
Test karty TL-WN823N
No to już wiemy z grubsza czym karta TL-WN823N dysponuje. Jak widać, średnio się ta karta nadaje na linux'a pod względem funkcjonalności. Oczywiście większość z nas raczej chciałaby jedynie podłączyć się do istniejącej sieci WiFi i pobierać lub wysyłać dane. Sprawdźmy zatem jak ten adapter będzie się zachowywał w takim przypadku.
Poniższa fotka odnosi się do sytuacji, w której laptop znajduje się w tym samym pomieszczeniu co router WiFi TP-LINK Archer C2600. Odległość nie przekracza 2 metrów:
Około 170 mbit/s. Całkiem przyzwoicie jak na taki mały adapter. Na opakowaniu może i widnieje i 300 mbit/s ale wszyscy wiemy, że te liczby lekko odbiegają od stanu faktycznego. Sprawdźmy jak będzie wyglądał transfer po zmianie położenia laptopa i dołożeniu przeszkody w postaci niezbyt grubej ściany. Odległość około 3-4 metry:
Dość spory spadek transfery o około 30 mbit/s. Dorzućmy jeszcze jedną ścianę i zobaczmy jak adapter sobie poradzi w takiej sytuacji. Odległość 5-6 metrów:
Poniżej 100 mbit/s ale generalnie nie jest źle, choć mogłoby być trochę lepiej.
Problemy z TL-WN823N pod linux'em
Jako, że sterownik nie ma póki co wsparcia dla interfejsu nl80211, to nie możemy go określać w
konfiguracji różnych narzędzi. W przypadku osób, korzystających z wpa_supplicant
do konfiguracji
sieci WiFi, zamiast określać w pliku /etc/network/interfaces
opcji wpa-driver nl80211
, musimy
dać wpa-driver wext
, przykładowo:
iface wlan20 inet dhcp
wpa-driver wext
wpa-debug-level -1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Parametry sieci umieszczamy standardowo w pliku określonym przez parametr wpa-conf
.