Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

TP-Link 1043ND jako routero-dysko-drukarko...cośtam :)

Przydługawy wstęp

Posiadam ja w domu routerek TP-Link 1043ND z wgranym oprogramowaniem OpenWrt.
Kupiłem go już dość dawno, bo chciałem zredukować liczbę urządzeń w domu, częściowo się to udało... a częściowo nie :P

Dodatkowo chciałem w jakiś sposób wykorzystać jego port USB, w momencie kupna nie wiedziałem jeszcze jak, teraz już wiem :P Przed jego zakupem sieć w domu wyglądała tak:

Sygnał IPTV leci osobnym VLAN-em, stąd obecność switcha zarządzanego i jest to IPTV a nie TV podpięty do neta ;) Za router robił stary poczciwy Edimax i najnormalniej w świecie nie wyrabiał :D
Po zakupie, wgraniu innego softu i dość długiej konfiguracji wyszło mi coś takiego:

r   e   k   l   a   m   a

W tamtej chwili bez podpiętego dysku i drukarki.
Efekt mizerny:


  • Wypadło jedno urządzenie ISP
  • W jego miejsce wskoczyło moje
  • Zniknął stary i wolny router na korzyść nowego i wydajniejszego
  • Na reszcie mogę wykorzystać gigowe karty w komputerach :D

Potem wpadłem na pomysł, żeby wykorzystać port USB jako dysk sieciowy, co zresztą zrobiłem, a dziś miałem chwilkę czasu i dorobiłem mu jeszcze drukarkę sieciową. Ale jak ja to robiłem?

Założenia


  • Ma działać jako router
  • Kilka portów ma być bez NAT-owania i w innym VLAN-ie (VoIP i IPTV)
  • Ma umożliwiać podpięcie dysku sieciowego
  • Ma umożliwiać podpięcie drukarki i wykorzystanie jej jako sieciowej

Wykonanie

Nie będę tu opisywał jak skonfigurować router do pracy z VLAN-ami czy z siecią bezprzewodową.

Instalacja pakietów na dysku USB

Na początek pojawił się jeden drobny problem: dostępna dla mnie pamięć flash routera ma pojemność 1900 KB, czyli "deczko" za mało jak na moje potrzeby, no ale od czego są pendrive'y?!
Jakbym nie zamierzał robić z routera print-servera to ten punkt bym mógł pominąć, pamięci jest dość, by swobodnie zainstalować pakiety do obsługi dysków, pendrive i samby.
Po przetrzepaniu szafek znalazłem penka o pojemności 128 MB (tak, by?y takie kiedyś i były całkiem pojemne ;) ), czyli jak dla mnie aż za dość. Trzeba było się jeszcze do sklepu po huba USB wybrać i będziem robić.
Router mam skonfigurowany tak, żeby automatycznie wykrywał podpinane pamięci USB i udostępniał mi przez Sambę, więc trzeba było delikatnie wyedytować konfigurację, żeby montował w określone miejsca pamięci o określonym UUID.
Po edycji plików fstaba przyszła kolej na pliczek /etc/opkg.conf, czyli plik konfiguracyjny managera pakietów w tym routerze (coś jak yum, apt-get czy inne slapty), trzeba było dopisać kawałeczek, aby umożliwiał instalację pakietów w innej lokalizacji.
Wszystko fajnie, jedyny problem w tym, że te pakiety nie są widoczne "od kopa" dla routera, tylko trzeba je podlinkować, a więc naskrobałem sobie coś takiego i wrzuciłem by odpalało się razem ze startem routera:

#!/bin/ash
FILES=`find /mnt/sda1/`
for i in $FILES
do
FILE=`echo $i | awk -Fsda1 '{print$2}'`
ln -s $i $FILE
done

Efekt jest taki, że linkuje wszystkie pliki poniżej /mnt/sda1/ do analogicznych miejsc w /.
Działa :)

Dysk USB

Jako dysk USB użyłem 3,5" dysku SATA o pojemności 1 TB (został mi po serwerze firmowym żony, to co będzie leżał i się kurzył) w obudowie kupionej specjalnie dla niego.
System plików na dysku to NTFS, gdyż nie wykluczam jakichś wycieczek z nim po znajomych, ze względu na jego pojemność, a większość z nim ma komputery z Windowsami i inny system plików mógłby stanowić dla nich problem.
Do obsługi systemu plików NTFS w Linuksie służy pakiet ntfs-3g, o czym zapewne większość z Was wie, i to właśnie on zostanie wykorzystany do tego niecnego celu.
By to rozwiązanie zadziałało należy doinstalować jeszcze kilka pakietów, czyli:


  • kmod-usb-storage
  • kmod-usb-storage-extras
  • block-mount
  • block-hotplug
  • kmod-fs-ntfs
  • kmod-fs-vfat
  • kmod-nls-utf8
  • kmod-nls-iso8859-2
  • kmod-nls-cp1250

oraz postępować zgodnie z tym poradnikiem (i chwała niech będzie tym, którzy tak dokładnie opisali możliwości tego oprogramowania :) ).
Instalacja i konfiguracja Samby jest tak prosta, że ją pominę, wystarczy przez interfejs ww wyszukać sambę, zainstalować i z nowo dodanego menu w GUI dodać udział, tyle.

Drukarka

Niestety obsługa drukarek Brother DCP-135C (bo taką mam) w Linuksie leży i kwiczy (trzeba skądś pobierać sterowniki - przynajmniej u mnie na Debianie), więc myślałem, że będzie trudniej...
Na szczęście było to dość proste.
Zacząć należy od instalacji wymaganych pakietów:


  • kmod-usb-printer
  • usbutils
  • p910nd
  • luci-app-p910nd

Potem tworzymy plik /etc/hotplug.d/usb/20-printer o zawartości:

#!/bin/sh 
if [ "$PRODUCT" = "4f9/1ce/1" ] 
then 
case "$ACTION" in 
add) 
echo "`date`: Brother DCP-135C added" >> /tmp/dcp-135c 
/etc/init.d/p910nd restart >> /tmp/dcp-135c 
echo "Done." >> /tmp/hl-2030 
;; 
remove) 
echo "`date`: Brother DCP-135C removed" >> /tmp/dcp-135c 
/etc/init.d/p910nd stop >> /tmp/dcp-135c
echo "Done." >> /tmp/dcp-135c 
;; 
esac 
fi

Wartość zmiennej PRODUCT jest połączeniem danych wyniku polecenia lsusb -v, a dokładniej parametrów VendorId/ProductId/BcdVersion.
W pliku /etc/init.d/p910nd do linii

[ -f $PID_F ] && kill $(cat $PID_F)

trzeba na końcu dopisać
-INT

Co dalej... ano nic :)
Trzeba jeszcze odpalić daemona p910nd i konfigurować drukarkę na komputerach :)

Podsumowanie

Nie jest to specjalnie trudne ani skomplikowane.
Minusem jest to, że jeszcze nie wpadłem na to jak udostępnić w sieci skaner tego urządzenia wielofunkcyjnego, co by mi strasznie życie ułatwiło :)
Jak do tego dojdę to napiszę.
Jest jeszcze jeden problem, nie wiem czym spowodowany: prędkość zapisu na dysku USB jest "porażająca" i wynosi max 2 MB/s - nie jest to spowodowane systemem plików, będę dalej szukał.
Dla wszystkich którzy się zastanawiają nad instalacją softu OpenWrt na routerach - polecam, soft ma bardzo dobrą dokumentację i naprawdę wiele można na nim zrobić.
Ten wpis jest też dla mnie, jak mi się (tfu, tfu, tfu) router zepsuje, żebym wiedział jak to robiłem :)

P.S. Ale mi tasiemiec wyszedł...

Aktualizacja

W komntarzy użytkownik KyRol zamieścił linka, znalazłem tam informację, by zamontować dysk bez opcji "sync", faktycznie, po zamontowaniu w ten sposób prędkość zapisu wynosi około 8 MB/s.
 

linux internet porady

Komentarze