środa, 15 kwietnia 2015

D-link DSL-G604T i OpenWRT

Postanowiłem wrzucić OpenWRT na znalezionego D-linka.
Nie do końca wiem po co mi on, więc wszystko co tutaj robię jest nie do końca pewne.
Jeszcze nie udało mi się go zmęczyć, więc ostrzegam...

Do zrobienia tego wszystkiego musiałem korzystać z dwóch tutków: tego i tego, bo obydwa są defacto niekompletne.
Na początek wypadałoby zbudować odpowiedni obraz, ja jednak poszedłem na łatwiznę (błąd przy kompilacji) i ściągnąłem go stąd (wersja openwrt-ar7-squashfs.bin).

edit.
Jak się okazuje wersja Kamikaze, której używałem jest daleko nieaktualna [źródło, źródło]. Wypadałoby więc użyć Backfire. Choć, być może po wymianie RAM'u z 16 na 32 MB lub nawet 64MB, powinno pójść i coś nowszego [źródło].
edit2
Po kompilacji własnego obrazu (polecam przewodnik eko.one.pl) najnowsze wydanie okrojone z czego się da śmiga i na 16MB.

Najtrudniejsze za mną.

Teraz trzeba poprosić ADAMA2, aby nasłuchiwał na adresie 192.168.1.1, w tym celu - łączymy się przez telnet na adres naszego routera (np. telnet 192.168.1.1, hasło i login: admin), a tam wykonujemy jedną komendę:
echo "my_ipaddress 192.168.1.1" > /proc/sys/dev/adam2/environment
Teraz upierdliwe.
Ustawiamy w menadżerze sieci ip stałe:
IP: 192.168.1.5
Maska: 255.255.255.0
Brama: <puste>
Uruchamiamy terminal, przechodzimy do katalogu w którym zapisaliśmy obraz bin i wpisujemy sudo ftp 192.168.1.1.

Teraz mała dygresja, z powodu której piszę tego tutka.
Gdy próbowałem w ten sposób wgrać oprogramowanie na router, połączenie ftp działało nieprzyzwoicie wolno, więc poszukałem. Coś jest za to odpowiedzialne, a żeby to zmienić trzeba zalogować się na su (sudo su) i napisać tak [źródło]:
echo 0 > /proc/sys/net/ipv4/tcp_frto

Wyłączamy router i go włączamy. Jak tylko połączenie sieci się pojawi klikamy enter po naszej komendzie. Jeśli mamy szczęście, połączymy się z serwerem ftp, a tam trzeba się zalogować (adam2, adam2) i wydać szereg komend:
quote "SETENV mtd0,0x900DA00F,0x903f0000"
quote "SETENV mtd1,0x90010000,0x900DA00F"
quote "SETENV mtd4,0x90010000,0x903f0000"

quote "MEDIA FLSH"
binary
debug
hash
put "openwrt-ar7-squashfs.bin" "openwrt-ar7-squashfs.bin mtd4"
quote REBOOT
quit
 Teraz router się zrestartuje i zacznie ładować. Po tym jak dioda 'status' zacznie migać w rytm serca, router powinien być już gotowy do pracy.

środa, 8 kwietnia 2015

Wyłączenie uśpienia po zamknięciu klapy laptopa (Ubuntu Server)

Używałem kiedyś Asusa eeePC 900. Komputer mały, energooszczędny (dość)... i to tyle. Współpracowało mu się dobrze z linuksem, ale jego czasy minęły. Potrzebowałem energooszczędnego komputera do odtwarzania muzyki (Ubuntu + mpd), więc Asus dostał nowe życie.
Rozwiązanie to od początku do końca było całkiem niezłe, ale nie lubię gdy laptop stoi gdzieś z otwartą klapą, odruchowo więc zamykałem go, a ten, złośliwie się usypiał.
Rozwiązanie tego problemu okazuje się proste [źródło] - wystarczy do pliku /etc/systemd/logind.conf dodać/zmienić linijkę na
HandleLidSwitch=ignore
i zrestartować komputer lub usługę
sudo restart systemd-logind

poniedziałek, 6 kwietnia 2015

Czarny ekran po uruchomieniu gry - brak tekstur S3TC

Otwarte sterowniki do AMD cierpią na brak obsługi s3tc. Czemu, nie wiem, ale spotkałem się już z drugą grą, która w efekcie nie wyświetla nic, choć w tle działa (Dont's Starve Together oraz The Dark Mod). Ta druga, była pierwsza i jej pomogło sudo apt-get install libtxc-dxtn-s2tc0 oraz zmuszanie gry do obsługi tychże tekstur (już nie pamiętam jak).
Ponieważ byłem trochę zaznajomiony z problemem, gdy uruchomiłem DST, zobaczyłem efekt i zobaczyłem w logach to:
"Required OpenGL extension "GL_EXT_texture_compression_s3tc" is not supported. Please install S3TC texture support."
Już wiedziałem, że problem idzie łatwo rozwiązać. Ponieważ nie pamiętałem jak się zmuszało TDM do obsługi tekstur, zacząłem szukać i znalazłem ten temat, a tam uwagę dotyczącą instalacji tej samej paczki ale w wersji 32bit. Niby subtelna różnica, ale po wydaniu komendy sudo apt-get install libtxc-dxtn-s2tc0:i386, cały problem jak ręką odjął.

czwartek, 2 kwietnia 2015

Dzielenie plików na części (7zip)

Ostatnio potrzebowałem na szybko podzielić duży plik (6GB) by móc go umieścić na partycji FAT32 (ograniczenie do ~4GB). Najlepszą metodą (zważywszy na to, że plik miał być rozpakowany na Windowsie), wybrałem metodę podziału archiwum 7z. A oto jak to zrobić:
7z a -v2048m -mx0 plik.7z plik.bin
 Gdzie plik.7z to nazwa nowego archiwum (w postaci nazwa.7z.001, nazwa.7z.002, nazwa.7z.003 itd.), a plik.bin to plik, który chcemy podzielić/spakować.

Parametr -v informuje na jakie części podzielić archiwum - tu, 2GB.
Paramatry -mx informują, aby 7z nie fatygował się kompresją.

Źródło.