Help! OpenWRT

Marius '95

troubleShooter
Topic nou, ca ala vechi s-a dus in papadii.


Problema 1:
Vreau sa compilez un program pentru OpenWRT. Nu stiu C. Nu am mai compilat niciodata nimic pentru Linux si cu atat mai putin pentru altceva decat x86.
1) Pot s-o fac din Windows? Daca da, cu ce?
2) Daca nu din Windows, atunci ce LiveCD poate face asta fara multe complicatii?

Problema 2, oarecum inrudita:
Vreau sa fac un rebuild al imaginii, special pentru routerul meu, in principal ca sa scot b43 si sa pun ath5k in loc. Cum fac asta din Windows sau cu ce LiveCD?

Problema 3:
Este vorba despre ruterul Topex Bytton GPRS, pentru cine n-a citit topicul vechi.
Tot nu mi-am dat seama cum se face comunicarea cu modemul USB. Am o imagine firmware in fisier .trx de la Topex, posibil cea corecta, dar nu risc s-o scriu. Cum as putea sa extrag squashfs-ul din ea?

Problema 4:
Aveam USB instalat si mergea. A trebuit sa resetez dupa porcaria aia de miniupnpd si acum l-am instalat din nou dar nu mai merge. LED-ul stick-ului USB nu ramane aprins si /dev/sda0 nu apare. La ce ar trebui sa ma uit?

Va rog, fara aberatii si comentarii referitoare la "de ce". Daca se poate. Multumesc.
 
1. Nu.
2. Orice livecd unde ai un compiler, gcc sa zicem.

P2. Nu stiu, teoretic recompilezi kernel-ul daca e monolitic. E complicat de scris aici, daca te mananca foarte tare citeste pe net, doar tu poti incerca diverse.
P3. Dunno.
P4. Vezi loguri. Sau dmesg.
 
Pentru multe din punctele de mai sus: creezi o masina virtuala, iti pui un Linux in ea, faci ce ai nevoie. Asa se face in secolul asta.
 
1. Ca să rulezi pe OpenWRT un program custom îți trebuie compilator pentru ARM, adică un Linux + cross compiler care să știe ARM + versiunea exactă a procesorului din router (va trebui s-o dai ca parametru la compilarea gcc, ceva gen -march=armv6). Dacă programul are mai mult de 1 fișier C probabil că va trebui să modifici makefiles (google: gcc, cross compiling arm, makefile). Nu știu dacă un LiveCD te lasă să instalezi tot ce ai nevoie pentru asta, îți recomand o mașină virtuală cu Linux.

2. Presupun că așa ceva: http://www.thepowerbase.com/2012/01/openwrt-build-guide-start-to-finish/

Întrebările ar fi mai bine îndreptate către https://forum.openwrt.org/
 
Mai ziceți-i și de niște flags pentru recompilat să se apuce iar de înjurat linuxul :-D
 
Cine nu ma suporta cand injur linux-ul, sa nu citeasca mai departe.

Am incercat deja masina virtuala. Intrucat masina virtuala trebuie sa ruleze din Windows, evident, n-a mers. Ca doar e linux. N-a mers nici pe masini reale, daramite virtuale... Oh well, saptamana viitoare o sa scot hardul vechi de la naftalina sa pun linux pe el. Cine stie, poate au scris intre timp un patch care il face sa se instaleze si pe ceva cu placa grafica.

miahi: Multumesc pentru primul link. Al doilea link e o pierdere de vreme. Acolo nu raspunde nimeni la nici o intrebare.

Jaffar:
Code:
[   12.500000] usbcore: registered new interface driver usbfs
[   12.500000] usbcore: registered new interface driver hub
[   12.510000] usbcore: registered new device driver usb
[   12.540000] SCSI subsystem initialized
[   12.560000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[   12.560000] ohci-platform ohci-platform.0: Generic Platform OHCI Controller
[   12.570000] ohci-platform ohci-platform.0: new USB bus registered, assigned bus number 1
[   12.580000] ohci-platform ohci-platform.0: irq 2, io mem 0x18003000
[   12.650000] hub 1-0:1.0: USB hub found
[   12.660000] hub 1-0:1.0: 2 ports detected
[   12.680000] usbcore: registered new interface driver usb-storage
Si asta e tot. Nimic despre FAT16-le de pe stick. Parca nu l-ar recunoaste. kmod-fs-vfat este instalat.
 
Poti sa fii mai clar despre ce nu a mers cu masina virtuala? In 7 ani de facut sute de masini virtuale de toate genurile nu prea am avut probleme serioase.
 
Știu că tu ai de obicei hardware exotic, așa că ai putea verifica ce extensii de virtualizare suportă procesorul tău. În unele cazuri nu poți combina host 64-bit cu guest 32-bit (sau invers).
 
Nu, ca n-am stat sa fac debugging. Era un Debian live-cd bootat pe MS Virtual PC.

Cu VMWare Player cel putin poli rula un guest 64 bit pe un host cu OS 32 bit, atata timp cat procesorul tau stie 64 bit. Nu stiu daca e cazul la MS Virtual PC, dar exista alternative (VirtualBOx, VMWare Player).
 
Downloadat VMWare Player. Pe laptop nu merge; Core(1) Duo. Incerc cand ajung acasa. Acolo am Phenom 2.

Pentru USB am testat lsusb. Detecteaza doar hub-ul, nu si stick-ul. Ceva suspect, fiindca kernelul detecteaza la bootare un mass storage conectat. Posibil sa fie stick-ul de vina.

Am gasit si unelte de editat imagini firmware:
https://bitsum.com/firmware_mod_kit.htm
Din nefericire necesita compilare. Back to problem #1.

Deci ca sa faci un linux sa mearga cum trebuie, iti trebuie un alt linux care sa mearga cum trebuie. Observati absurditatea?
 
Last edited:
Pe Core 1 n-o să meargă, pe Phenom 2 da.

Observati absurditatea?
De-aia nu vrea să te ajute nimeni, pentru că numa' absurdități vezi. Și asta după ce tocmai tu ziceai că nu vrei aberații în thread. Ceea ce vrei tu în final (recompilări de kernel pentru altă platformă decât cea curentă) nu fac nici măcar 0.01% din utilizatorii Desktop Linux. La Politehnică există vreo 3 cursuri pentru așa ceva, și nu în anul I. Asta e, unele chestii nu-s simple, de-aia eu nu mă apuc să-mi fac singur analize.
 
Problema 5:
Constat absolut stupefiat ca n-am acces la reteaua locala prin VPN/PPTP.
pptpd este configurat sa aiba ip 192.168.0.200 si sa aloce 201-249 pentru clienti. Eu primesc 192.168.0.210.
Code:
[...]
config interface 'lan'
	option force_link '1'
	option type 'bridge'
	option proto 'static'
	option netmask '255.255.255.0'
	option delegate '0'
	option ipaddr '192.168.0.2'
	option ipv6 '0'
	option _orig_ifname 'eth0.1 wlan0 ppp1'
	option _orig_bridge 'true'
	option ifname 'eth0.1'
... unde eth0.1 este VLAN intre porturile LAN ale switch-ului, wlan0 este reteaua wireless, ppp1 este VPN-ul catre ruter.
Ping catre 192.168.0.200 merge, catre 192.168.0.2 merge, catre 192.168.0.1 nu merge. De ce?
 
Pare să nu ajungă la switch. Sigur e enabled vlan-ul pe switch?
Code:
swconfig dev eth0 show
Vezi și ce se întâmplă dacă-i pui gateway (option gateway '192.168.0.1')
 
Code:
Global attributes:
        enable_vlan: 1
        ports: 0x003f
Port 0:
        pvid: 2
        link: port:0 link:up speed:100baseT full-duplex auto
Port 1:
        pvid: 1
        link: port:1 link:up speed:100baseT full-duplex auto
Port 2:
        pvid: 1
        link: port:2 link:down
Port 3:
        pvid: 1
        link: port:3 link:down
Port 4:
        pvid: 1
        link: port:4 link:up speed:100baseT full-duplex auto
Port 5:
        pvid: 0
        link: port:5 link:up speed:100baseT full-duplex
VLAN 1:
        ports: 1 2 3 4 5t
VLAN 2:
        ports: 0 5t
Nu pot sa-i pun gateway 192.168.0.1 din moment ce la acel IP este serverul unde nu exista gateway.
 
Auzi? Nu ar fi mai simplu sa faci o lista cu ce vrei sa faca router-ul si sa primesti niste sfaturi de cumparare?
 
Nu vreau să fiu rău, dar am impresia că el vrea să facă din țânțar armăsar cu buget limitat și foarte mult timp la dispoziție + o interesantă tendință de a fi trollat de Linux.
 
Back
Top