1

(3 odpowiedzi, napisanych Oprogramowanie)

Dzięki. :)

2

(3 odpowiedzi, napisanych Oprogramowanie)

Cześć,

przywiozłem z działki zapuszczony router z antycznym Gargoyle 1.5.11.4, który chcę zaktualizować do najnowszej wersji AA – 1.6.2.2 (bo, jak widzę, nowsze wydania OpenWRT już nie bardzo dla mojej 4 MB mydelniczki). I tu rodzi się pytanie: czy mogę zaktualizować bezpośrednio, czy powinienem stopniowo (np. najpierw pierwsze 1.6.x)? Sysupgrade czy raczej factory?

Z góry dzięki za odpowiedź.

Pytanie poboczne przy okazji: na MR3420-v2 z 4 MB przejdzie w miarę bezpoleśnie instalacja BB + konfiguracja extroota + instalacja LuCI/Gargoyle (gdy wyjdzie na BB)? Czy router już jest „całkiem stracony”?

3

(10 odpowiedzi, napisanych Debian Mini HowTo)

mc zezwala na połączenie przez scp

1. eject (ale nie jestem pewien czy jest w OpenWRT i czy na pewno przerwie pracę programów)
2. Kolejno lsof, kill, umount (nie jestem pewien czy lsof jest w OpenWRT).

Prościej będzie pobrać plik bezpośrednio na routerze:

wget http://dug.net.pl/~azhag/openwrt/packages-html.sh -O /bin/packages-html.sh
chmod +x /bin/packages-html.sh

Chodzi o to, że różne systemy operacyjne w inny sposób oznaczają znak nowej linii: http://pl.wikipedia.org/wiki/End-of-line

Cezary napisał/a:

Nie żebym projekt krytykował, ale plik Packages w każdym repo zawiera opis pakietu...

I można go wyświetlić wykonując

opkg info (pakiet(y))

Ale, jak wspomniałem, w przeglądarce jest to czytelniejsze.


Chyba jeszcze dorobię pokazywanie numerów wersji.

Osobiście wolę przeglądać dostępne pakiety (oraz ich opisy) w przeglądarce -- wg mnie nieco wygodniej niż w konsoli. Zwłaszcza jeśli sam nie wiem czego właściwie szukam. ;)

Napisałem więc sobie skrypt, który przetwarza listę pakietów na prostą stronę HTML. Nie jest to może szczyt możliwości, zapewne skryptowi i samej stronie (tej na pewno) przydałoby się jeszcze odrobinę miłości, ale zasadniczo działa.

Skrypt powinien działać na OpenWRT w każdej postaci, oczywiście na czystym będzie potrzebny jakiś serwer WWW. Na Gargoyle trzeba doinstalować „prawdziwy” opkg (opkg install opkg).

Skrypt: http://dug.net.pl/~azhag/openwrt/packages-html.sh
Przykładowy wynik: http://dug.net.pl/~azhag/openwrt/packages.html
Zastosowanie:

opkg update && packages-html.sh

Po czym wystarczy odwiedzić http://192.168.1.1/packages.html (zakładając, że taki jest IP routera i katalog serwera WWW to /www/).

Tak właśnie mi się wydawało. Dzięki.

(Może warto dodać informację o powtórzeniu czynności po aktualizacji?)

Jeszcze a propos najnowszej aktualizacji: czy po zaktualizowaniu firmware'u znowu trzeba będzie zmieniać gargoyle na wielojęzyczne wg powyższej instrukcji?

Problemy z extrootem opanowałem. smile
(W sumie można moje pierwsze posty wydzielić, bo okazało się, że tego tematu się nie tyczą).

Miałem ten sam problem z konfiguracją języków, po kilku próbach i błędach poradziłem sobie. Przy okazji sam zmienił mi się motyw.

Mała literówka:

uci commit gagroyle

zamiast:

uci commit gargoyle

Już wiem o co chodziło. Używam jako powłoki roota zsh, przy aktualizacji zabijało mi zsh, a tym samym potomne sysupgrade, i nici ze wszystkim. Musiałem na chwilę powrócić w passwd do /bin/ash i poszło.

Teraz tylko borykam się z uporczywym montowaniem extroota do /tmp/overlay-disabled... "Jeszcze tu wrócę".

Sęk w tym, że aktualizowałem (już nawet w historii powłoki sprawdziłem). /etc/banner pewnie nie został zmieniony, ponieważ aktualizowałem bez flagi -n.

Zaktualizować jeszcze raz z -n i spróbować ponownie?

root@Gargoyle /etc # cat /etc/banner                                                                                       :(

             _____                             _
            |  __ \                           | |
            | |  \/ __ _ _ __ __ _  ___  _   _| | ___
            | | __ / _` | '__/ _` |/ _ \| | | | |/ _ \
            | |_\ \ (_| | | | (_| | (_) | |_| | |  __/
             \____/\__,_|_|  \__, |\___/ \__, |_|\___|
                              __/ |       __/ |
                             |___/       |___/

 ----------------------------------------------------------------
 |                                                              |
 | Gargoyle PL 1.5.10.12 (0dfb5ec)                              |
 | OpenWrt Attitude Adjustment 12.09.1 (r37768)                 |
 | Build time: 2013-08-24 08:10 CEST                            |
 |                                                              |
 | Cezary Jackiewicz (obsy), http://eko.one.pl                  |
 |                                                              |
 ----------------------------------------------------------------

Na tej z 2013-10-21 (aktualizowanej z poprzedniej przez sysupgrade).

Na wszelki wypadek: jak sprawdzić?

root@Gargoyle ~ # opkg remove haserl
No packages removed.
Collected errors:
 * print_dependents_warning: Package haserl is depended upon by packages:
 * print_dependents_warning:    gargoyle
 * print_dependents_warning: These might cease to work if package haserl is removed.

 * print_dependents_warning: Force removal of this package with --force-depends.
 * print_dependents_warning: Force removal of this package and its dependents
 * print_dependents_warning: with --force-removal-of-dependent-packages.

Poszło po dodaniu --force-depends.

Dalej:

root@Gargoyle ~ #opkg install plugin-gargoyle-i18n-English-EN
Installing plugin-gargoyle-i18n-English-EN (1.0.0-1) to root...
Downloading http://ecco.selfip.net/gargoyle-pl/attitude_adjustment/ar71xx/plugins/plugin-gargoyle-i18n-English-EN_1.0.0-1_all.ipk.
Configuring plugin-gargoyle-i18n-English-EN.
//usr/lib/opkg/info/plugin-gargoyle-i18n-English-EN.postinst: exit: line 129: Illegal number: -1
Collected errors:
 * pkg_run_script: package "plugin-gargoyle-i18n-English-EN" postinst script returned status 2.
 * opkg_configure: plugin-gargoyle-i18n-English-EN.postinst returned 2.


root@Gargoyle ~ # opkg install plugin-gargoyle-i18n-Polish-PL
Installing plugin-gargoyle-i18n-Polish-PL (1.0.0-1) to root...
Downloading http://ecco.selfip.net/gargoyle-pl/attitude_adjustment/ar71xx/plugins/plugin-gargoyle-i18n-Polish-PL_1.0.0-1_all.ipk.
Configuring plugin-gargoyle-i18n-Polish-PL.
uci: Entry not found
uci: Entry not found
//usr/lib/opkg/info/plugin-gargoyle-i18n-Polish-PL.postinst: exit: line 129: Illegal number: -1
Configuring plugin-gargoyle-i18n-English-EN.
//usr/lib/opkg/info/plugin-gargoyle-i18n-English-EN.postinst: exit: line 129: Illegal number: -1
Collected errors:
 * pkg_run_script: package "plugin-gargoyle-i18n-Polish-PL" postinst script returned status 2.
 * opkg_configure: plugin-gargoyle-i18n-Polish-PL.postinst returned 2.
 * pkg_run_script: package "plugin-gargoyle-i18n-English-EN" postinst script returned status 2.
 * opkg_configure: plugin-gargoyle-i18n-English-EN.postinst returned 2.


root@Gargoyle ~ # opkg install --force-reinstall gargoyle
Removing package gargoyle from root...
Installing gargoyle (1.5.11.1-6) to root...
Downloading http://ecco.selfip.net/gargoyle-pl/attitude_adjustment/ar71xx/plugins/gargoyle_1.5.11.1-6_ar71xx.ipk.
Configuring gargoyle.
Configuring plugin-gargoyle-i18n-Polish-PL.
uci: Entry not found
uci: Entry not found
//usr/lib/opkg/info/plugin-gargoyle-i18n-Polish-PL.postinst: exit: line 129: Illegal number: -1
Configuring plugin-gargoyle-i18n-English-EN.
//usr/lib/opkg/info/plugin-gargoyle-i18n-English-EN.postinst: exit: line 129: Illegal number: -1
Collected errors:
 * pkg_run_script: package "plugin-gargoyle-i18n-Polish-PL" postinst script returned status 2.
 * opkg_configure: plugin-gargoyle-i18n-Polish-PL.postinst returned 2.
 * pkg_run_script: package "plugin-gargoyle-i18n-English-EN" postinst script returned status 2.
 * opkg_configure: plugin-gargoyle-i18n-English-EN.postinst returned 2.

(i teraz boję się wyłączyć router big_smile)

Jakiś czas temu kupiłem następujący hub USB 2.0: e5 Cube, oznaczany przez producenta jako RE01596. Wygląda on tak:

http://e5.pl/img/p/1/0/0/100-thickbox_default.jpg

http://www.dobiura.pl/product/image/21035/585cc60ec78d34bc69a302773e7adb1f.jpg

Koszt: ok. 20 zł (mi się udało w promocji dostać za 15).

Co interesujące na opakowaniu nie ma ani słowa, że jest to hub aktywny. Jednakże nawet przez opakowanie widać gniazdo, które wyglądaja na standardowe (?) gniazdo zasilania -- i rzeczywiście nim jest.

Co jeszcze bardziej interesujące: hub wydaje się działać całkiem sprawnie nawet bez podłączania dodatkowego zasilaia (przynajmniej na moim MR3420v2). Oczywiście jeśli podłączymy zbyt dużo łakomych na energię urządzeń to nie wyrobi, ale jak do tej pory (odpukać) nie mam problemu z podłączonymi i używanymi jednocześnie modemem Huawei E122, jakimś starym pendrive'em z extrootem i czytnikiem microSD.

16

(10 odpowiedzi, napisanych Oprogramowanie)

Już wiem co jest źle. I wychodzi na to, że jestem skończonym kretynem. :D

Źle podałem argumenty, zamiast:

-f 43

dałem:

f 43

Po prawdzie jednak na normalnym kompie youtube-dl po prostu stwierdza, że nie ma filmiku z id "f", zamiast -- jak na OpenWRT -- majestatycznie się wykrzaczać.

Nie ma to jak napisać własny skrypt, bo z innego źle się skorzystało. :D

Nie ma jednak tego złego, mój powłokowy skrypt znacznie szybciej się ładuje, przy mniejszych filmach prawie zdążę pobrać zanim się python uruchomi. :)

17

(10 odpowiedzi, napisanych Oprogramowanie)

Działa.

O dziwo nagle zaczęło też działać z poprzedm filmem, który wcześniej nie działał...

18

(10 odpowiedzi, napisanych Oprogramowanie)

Dzięki za informację, że jednak działa. Dzięki temu doszedłem czemu u mnie nie działało. Otóż przeszkadza flaga -t (pobieranie tytułu filmu) -- bez niej elegancko ściąga, z nią się wysypuje jak wyżej.

Do działania bez flagi -t wystarczy:

python - 2.7.3-1
python-mini - 2.7.3-1
python-openssl - 2.7.3-1

Pytanie zatem teraz brzmi: co jest jeszcze potrzebne by zmusić youtube-dl do działania z tą flagą?

19

(10 odpowiedzi, napisanych Oprogramowanie)

Ponieważ nikt nie miał pomysłu... napisałem własny, prymitywny zamiennik: http://wklej.dug.net.pl/4667 (parsowanie URL do filmu pożyczone stąd).

Zachowana szczątkowa zgodność z youtube-dl:
- flagi -t, -A, -f, --write-srt, --srt-lang (i wątpliwe by pojawiły się kolejne, może na -F się tylko skuszę),
- pobieranie wyłącznie pojedynczych filmów, brak obsługi list i całych profili.

Dlatego nadal jakby ktoś zdołał skłonić oryginalny youtube-dl do działania, to byłbym niezmiernie wdzięczny. Oczywiście spodziewane błędy w działaniu (na pewno nie mam wszystkich rozszerzeń), jakby co dajcie znać -- choć nie gwarantuję poprawki. ;)

Licencja: nie mam pojęcia na jakiej jest pożyczony fragment kodu i jego pierwowzór, więc nie wiem na jakiej mogę. Ale na pewno jakaś FLOSS.

20

(10 odpowiedzi, napisanych Oprogramowanie)

alossek napisał/a:

opkg install python-openssl

Wpadłem na to dosłownie tuż przed przeczytaniem tego posta. Niemniej dzięki.

Trochę do przodu, ale nadal czegoś brakuje:

root@Gargoyle ~ # ./youtube-dl -t f 43 $URL
WARNING: The url doesn't specify the protocol, trying with http
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "./youtube-dl/__main__.py", line 18, in <module>
  File "./youtube-dl/youtube_dl/__init__.py", line 766, in main
  File "./youtube-dl/youtube_dl/__init__.py", line 719, in _real_main
  File "./youtube-dl/youtube_dl/YoutubeDL.py", line 715, in download
  File "./youtube-dl/youtube_dl/YoutubeDL.py", line 363, in extract_info
  File "./youtube-dl/youtube_dl/YoutubeDL.py", line 395, in process_ie_result
  File "./youtube-dl/youtube_dl/YoutubeDL.py", line 348, in extract_info
  File "./youtube-dl/youtube_dl/extractor/common.py", line 125, in extract
  File "./youtube-dl/youtube_dl/extractor/generic.py", line 130, in _real_extract
  File "./youtube-dl/youtube_dl/extractor/generic.py", line 112, in _test_redirect
  File "/usr/lib/python2.7/urllib2.py", line 400, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 418, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [Errno -2] Name or service not known>

21

(10 odpowiedzi, napisanych Oprogramowanie)

Cześć,

chcę uruchomić youtube-dl. Zainstalowałem Pythona, pobrałem ww. program i:

root@Gargoyle ~ # ./youtube-dl -t f 43 URL
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "./youtube-dl/__main__.py", line 18, in <module>
  File "./youtube-dl/youtube_dl/__init__.py", line 766, in main
  File "./youtube-dl/youtube_dl/__init__.py", line 492, in _real_main
  File "./youtube-dl/youtube_dl/__init__.py", line 752, in _setup_opener
  File "./youtube-dl/youtube_dl/utils.py", line 541, in make_HTTPS_handler
AttributeError: 'module' object has no attribute 'HTTPSHandler'
root@Gargoyle ~ # opkg list-installed | grep python
python - 2.7.3-1
python-mini - 2.7.3-1

Czego jeszcze mi potrzeba?

22

(6 odpowiedzi, napisanych Oprogramowanie)

Do routera bym raczej wybrał jakiś kompilator statycznych stron, np. ikiwiki, chronicle, pelican, itd.

23

(54 odpowiedzi, napisanych Oprogramowanie)

Dziękuję za troskę, ale nie mam problemu z czytaniem. wink

Cezary napisał/a:

A skąd niby obraz ma wiedzieć że akurat ten pendrive ma użyć jako extroot?

Nie, musisz wcześniej uuid podać i enable na 1 przestawić.

No właśnie, trzeba extroota skonfigurować. A żeby sformatować trzeba jeszcze pewien pakiet doinstalować w RAM-ie.

Bardziej łopatologicznie:
Skoro obsługa wielojęzyczności się nie zmieści bez wywalenia czegoś, to proponuję dwa rodzaje:

1. PL na sztywno jak dotychczas, dla tych co są zadowoleni z obecnego stanu rzeczy, nie chcą stawiać extroota,
2. MULTI (z domyślnym angielskim; a jakby się polski jeszcze zmieścił, to czemu nie?) dla obcokrajowców lub osób zainteresowanych wielojęzykowością, żeby zrobić miejsce na to się coś usunie (kwestia ustalenia co) + doda informację "z powodu ograniczonej przestrzeni dostępnej w tym modelu, aby doinstalować więcej języków lub skorzystać z $USUNIĘTA_FUNKCJA należy skonfigurować extroota", jeśli się uda to można instrukcję konfiguracji umieścić bezpośrednio w obrazie

24

(54 odpowiedzi, napisanych Oprogramowanie)

Hm, to może obraz PL taki jak teraz + MULTI z domyślnym angielskim i bez czegoś, za to z informacją, że jeśli chcesz inne języki oraz to coś to sorry, ale musisz postawić exroota? Może nawet dałoby się wcisnąć instrukcję do exroota do obrazu, żeby była od razu pod ręką?

Bobi napisał/a:

Pewnie powinienem podziękować za tą wskazówkę co też czynie ale za cholerę nie wiem co to jest aktywny Hub USB.

Hub USB to taka "złodziejka" dla portu USB, żeby można było do jednego portu podłączyć kilka urządzeń. Do routera potrzebujesz aktywny, tj. taki z własnym dodatkowym zasilaniem -- routery sprzętowe są za słabe żeby uciągnąć więcej niż jedno.