1

(651 odpowiedzi, napisanych Oprogramowanie / Software)

spewak napisał/a:

@krzysial a sprawdzales moze predkosci bo u mnie na brcmsmac to dziala wolniej niz na b43 (g)
@marcin1j przekompiluje to jeszcze raz i wrzucę linka do binarki. Ta łatka to była jedyna zmiana której dokonalem ale u mnie to nie hula tak jak powinno (działa wolniej niz na b43).

Oczywiście popełniłem głupi błąd - nie zmieniłem drivera. Tryb 11n działa.
Niestety transfery są... mało imponujące. W zależności od kierunku transmisji udało mi się osiągnąć 7/9 mbit. Jak to jest u Was?

Driver b43 pozwalał rozwinąć koło 20mbit. Zdecydowanie lepiej ale nawet jak na 802.11g nie idealnie.

2

(651 odpowiedzi, napisanych Oprogramowanie / Software)

spewak napisał/a:

Witam ponownie udało mi się odpalić 11n ze wszystkich kombinacji zadziałało dopiero dodanie vendor id do kodu sterownika brcmsmac.

Gratuluję sukcesu. Nie spodziewałem się, że stanie się to tak szybko smile i natychmiast po powrocie do domu wgrałem nowy firmware na router.

Niestety po zaaplikowaniu takiego patcha dalej nie widzę trybu 802.11n. Czy to są jedyne zmiany, które trzeba wprowadzić? Sprawdzę jeszcze jutro bo pora późna więc być może popełniłem jakiś trywialny błąd.

Czy Kolega myślał o przygotowaniu patcha na openwrt-devel?

3

(651 odpowiedzi, napisanych Oprogramowanie / Software)

spewak napisał/a:

OK to mi trochę rozjaśnia sytuacje, mam uwagę do samego patcha bo ściągnąłem sobie czystego trunka żeby zrobić to po Twojemu - oczywiście nie jest łatwo bo patch nie nakłada się bez problemu zatrzymałem sie przy przeglądaniu kodu w pliku 803-board_fast2704.patch zauważyłem że dane dla naszego urządzenia są umieszczane w sekcjach dla procesora 6348 czy to aby nie pomyłka? Wydaje mi się że efekt będzie taki ze wszystko się skompiluje tylko po załadowaniu obrazu będzie kernel panic bo nie dopasuje się board.

Z którym patchem był problem? Wprawdzie była to wstępna wersja a zmiany trzymam w repozytorium git ale wystąpieniem takich problemów jestem mocno zaskoczony.

Definicje dla routera faktycznie były w sekcji dla niewłaściwego procesora. Zauważyłem to dopiero przygotowując zestaw łatek do openwrt-devel.

Kernel panic natomiast nie grozi ponieważ od commita http://git.io/YYAWGg w brcm63xx jest kompilowana obsługa wszystkich procesorów.

4

(651 odpowiedzi, napisanych Oprogramowanie / Software)

spewak napisał/a:

@marcin1j powiedz mi jak ogarnales gpio do ktorych sa podlaczone diody - co gdzie??

Bardzo prosto. Przed rozpoczęciem zabawy trzeba zwolnić wszystkie linie GPIO zajęte przez zarejestrowane przyciski i LED. Dzięki temu można sterować wszystkimi liniami przez wirtualny system plików w /sys/class/gpio.
W tym przypadku zaczynałem z pustymi tablicami leds i buttons więc nie było ryzyka konfliktu.

Najpierw przypisałem linie gpio do przycisków. Linie domyślnie są ustawione jako wejścia. Żeby znaleźć numer linii dla konkretnego przycisku wystarczy odczytać wszystkie wartości przy wciśniętym przycisku i porównać je z wartościami, kiedy żaden przycisk nie jest wciśnięty.

Kiedy znamy już numery linii wykorzystywane do obsługi przycisków można przypisać numery linii do LED. Badając każdą linię osobno trzeba przestawić ją w tryb wyjścia i sprawdzić, czy któraś dioda świeci w stanie niskim lub wysokim. W tym przypadku wszystkie diody świecą przy niskim stanie a więc natychmiast po ustawieniu linii w trybie out. Po sprawdzeniu linii dobrze ustawić ją ponownie w tryb wejścia, dzięki temu nie będzie przeszkadzała przy sprawdzaniu kolejnych.
Taką procedurę powtarza się dla wszystkich nieopisanych linii.

Do rozpracowania pozostaje tajemnicza linia gpio0 która ustawiona w tryb out ma napięcie koło 2V niezależnie od ustawionego stanu. Oryginalne firmware jakoś potrafi nią sterować tak, żeby miała potencjał 0 lub 3,3V.

5

(651 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Wysyłaj to na https://lists.openwrt.org/cgi-bin/mailman/listinfo openwrt-devel

Procedurę mniej więcej znam.
Warto jednak trochę przetestować patche przed wysłaniem. No i ta tajemnicza dioda LED...

6

(651 odpowiedzi, napisanych Oprogramowanie / Software)

@nSpirit2: Skompilowany firmware możesz pobrać pod adresem https://db.tt/Nlosog0R.

Jaka wersja firmware jest teraz zainstalowana na Twoim routerze?

7

(651 odpowiedzi, napisanych Oprogramowanie / Software)

Witam wszystkich

Niedawno dostałem ten router od Orange a dzisiaj otrzymałem przesyłkę z interfejsem USB-TTL. Ponieważ wygląda na to, że udało się uruchomić prawie wszystko, co można wykorzystać pod OpenWRT chciałbym podzielić się wynikami mojej pracy i zachęcić do dalszej zabawy z tym sprzętem.

Pod adresem https://www.dropbox.com/sh/ulqriaxik123 … 0ST%202704 udostępniłem dwie łatki, które należy nałożyć na trunk.

Najpierw należy nałożyć patch openwrt_brcm63xx_sagemcom_2704.patch. Ten plik zawiera wszystkie zmiany konieczne do obsługi platformy F@ST2704V2 a więc definicje board, mapowanie linii GPIO na przyciski i diody LED, konfigurację wbudowanego switcha a także prawidłową obsługę trybu failsafe.

Aby mieć obsługę WiFi trzeba nałożyć patch openwrt_brcm63xx_sprom.patch. To nie jest wynik mojej pracy, tylko dostosowany do kernela 3.10 zestaw łatek dostępny w githubie pod adresem https://github.com/Noltari/openwrt/comm … 0747977cec (szczegóły w zgłoszeniu https://dev.openwrt.org/ticket/14104). Oryginalny zestaw łatek powstał na kernela 3.9 ale na pewno za jakiś czas w trunku znajdzie się wersja dostosowana do kernela 3.10, więc drugi z udostępnionych patchy będzie zbędny.


Konfigurując OpenWRT przed kompilacją należy wybrać:

Target System: Broadcom BCM63xx
Target Profile: "Broadcom WiFi" (default) lub "Sagemcom F@ST 2704 V2"

Jeżeli chcemy uruchomić system w ramdysku (wymaga interfejsu TTL i otwarcia routera) należy dodatkowo zaznaczyć

Target Images: ramdisk 

oraz

Target Images -> ramdisk -> Compression: lzma

W wyniku kompilacji powstanie plik bin/brcm63xx/openwrt-F@ST2704V2-squashfs-cfe.bin, który można wgrać przez standardowy interfejs WWW.
Posiadając podłączona konsolę można też uruchomić OpenWRT bez flashowania, ładując z poziomu bootloadera CFE plik openwrt-brcm63xx-generic-vmlinux-initramfs.elf
poleceniem

r 192.168.1.2:openwrt-brcm63xx-generic-vmlinux-initramfs.elf

Aktualnie są obsługiwane:
- Interfejs Ethernet oraz wbudowany switch
- Interfejs WiFi
- USB EHCI i OHCI
- Przyciski reset, rfkill i wps (skrypty do obsługi reset i rfkill są standardowo w OpenWRT, skrypt do wps trzeba dodać samemu)
- Diody LED: usb (zielona), inet (zielona/czerwona), dsl (zielona), power (zielona/czerwona), wps (zielona)

Jest natomiast problem ze sterowaniem diody pod przyciskiem rfkill. Niby podłączona do linii gpio0, po ustawieniu linii w tryb "out" lekko świeci niezależnie od wartości na wyjściu.

To tak na szybko, nie miałem czasu wszystkiego dokładnie przetestować ale wygląda na to, że podstawowe rzeczy chodzą a co ważne można wgrać OpenWRT bez naruszania plomby gwarancyjnej i nic nie wybucha smile