BR-1602 - Kolejny miniaturowy router z portfolio Sapido, nazwany Pocket N+, Wireless 3-in-1‧
Strona produktu:
http://www.sapido.com.tw/EN/productrb1602o.htmJego rozmiar niewiele przekracza wymiary karty kredytowej (długość x szerokość), a mimo to zawiera wymagane złącza. Znajdziemy w nim więc i złącze RP-SMA do anteny (na wierzchu obudowy), zestaw diod informujących o stanie urządzenia (status, lan/wan, wireless/wps), przycisk WPS, reset, trzy pozycyjny przełącznik trybu pracy, dwa gniazda RJ45 - jedno oznaczone lan, drugie lan/wan (funkcjonalność w zależności od trybu pracy) oraz złącze zasilania w postaci gniazda miniusb. Obudowa została wykonana z białego plastiku.
Zasilacz także został bardzo zminiaturyzowany; jego parametry to 5V 0.6A. Ponieważ prawie takie same parametry ma zwykłe złącze USB w komputerze, możliwe jest zasilanie routera przy pomocy zwykłego kabla USB<>miniusb. Oczywiście jest to tylko kabel zasilający, wiec do komunikacji z routerem wymagany jest dodatkowo normalny kabel ethernet. Zużycie prądu podczas normalnej pracy to ok 1 - 1,3W.
Sprzętowo router został utworzony na podstawie chipu Realtek'a, więc na chwilę obecną nie ma dostępnego alternatywnego oprogramowania. Sam SoC spełnia on normy oszczędzania energii (Green AP, IEEE 802.3az).
Oprogramowanie trzyma się tego samego (pomarańczowo-zielonego) szablonu co w innych produktach Sapido. Tryb pracy ustalany jest przy pomocy zewnętrznego (fizycznego) przełącznika i można go ustawić na jedną z trzech pozycji
-R (router), urządzenie działa jako normalny router - internet powinien być dostarczony kablem ethernet, zaś do routera dołączamy się przewodowo drugim gniazdem lub bezprzewodowo
-A (access point), to nic więcej jak zmiana medium kablowego na bezprzewodowe.
-W (wifi ap), pełni rolę repeatera przedłużając istniejącą sieć.
Przełącznik odczytywane jest tylko podczas startu routera, następuje wtedy ustawienie predefiniowanej konfiguracji (wan/lan, adresy IP). W sumie wszystkie podstawowe wymagane funkcje są dostępne i w większości przypadków wystarczające.
W swojej ofercie Sapido ma jeszcze jeden, bliźniaczo podobny produkt o nazwie BR-1632, różniący się tylko obecnością złącza USB na górze obudowy (antena jest w tym przypadku wbudowana). Jego przeznaczone to mobilny host pot (po dołączeniu modemu gsm).
Software hackPrzy okazji opisu innego produktu Sapido pisałem już o obrazu alternatywnego oprogramowania. Brak jest też SDK do tego produktu więc może być problem z jego utworzeniem. Ale oczywiście nie przeszkadza to w sprawdzeniu firmware dla tego routera.
Firmware dla tego urządzenia jak w większości przypadków składa się z bootloadera, kernela, systemu plików i sum kontrolnych. Interesuje nas system plików który w tym przypadku okazał się zwykłym squashfs 4.0 kompresowany lzma.
Początek systemu plików zaczyna się od przesunięcia 833167. Po ściągnięciu firmare można więc wyodrębnić sam filesystem
dd if=firmware.bin of=fs.squashfs skip=833166
a następnie wyodrębnić pliki standardowym narzędziem
unsquashfs fs.squashfs
Analiza plików przynosi wiele ciekawych informacji, np. brak modułów (kernel musi być monolityczy), pliki językowe w postaci oddzielnych szablonów XML, uniwersalne skrypty startowe dla różnych urządzeń (nb. których producentem jest Amigo Technology), a także standardowo wsparcie dla USB, wyłączone jeżeli urządzenie nie ma tego portu. Wszystkie pliki html/ASP opatrzone są sygnaturą Copyright (c) Realtek Semiconductor Corp., 2003., więc dość stare. Prawdopodobnie jest po prostu kontynuacja SDK z poprzednich wersji dostosowane do nowych produktów.
Można też wykorzystać tzw "Obama hack" dostępny chyba ze wszystkich ostatnich produktach Amigo (a więc także Sapido i Solwise). Hack jest bardzo prosty: oprogramowanie zawiera ukrytą stronę "obama.asp" pozwalającą na wykonanie dowolnego polecenia w systemie (odwołujemy się do niej po prostu jako
http://192.168.1.1/obama.asp). Poniżej kilka przykładowych wyników różnych poleceń, pozwalających zapoznać się z systemem:
free
total used free shared buffers
Mem: 10256 9524 732 0 892
Swap: 0 0 0
Total: 10256 9524 732
cat /proc/cpuinfo
system type : RTL8196B
processor : 0
cpu model : 52481
BogoMIPS : 389.12
tlb_entries : 32
mips16 implemented : yes
busybox
BusyBox v1.13.4 (2011-03-17 17:25:18 CST) multi-call binary
Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as!
Currently defined functions:
ash, bunzip2, bzcat, cat, cp, cut, date, echo, expr, false, free,
grep, halt, head, hostname, ifconfig, init, ip, kill, killall, klogd,
ln, login, ls, mkdir, mount, passwd, ping, poweroff, ps, reboot,
renice, rm, route, sed, sh, sleep, stty, sync, syslogd, tail, true,
umount, wc
cat /proc/mtd
dev: size erasesize name
mtd0: 000d8000 00001000 "boot+cfg+linux"
mtd1: 00128000 00001000 "root fs"
W niektórych routerach można wykonać także "/bin/telnet -l /bin/sh" i normalnie zalogować się przez telnet do routera. Ten niestety nie posiada wkompilowanego tego apletu.
Cena routera to ok. 80zł.