1

(2 odpowiedzi, napisanych Oprogramowanie / Software)

Pytasz ile Grafana zjada pamięci? To nie jest tak, że jak binarka jest gigantyczna to program również potrzebuje gigantycznej ilości RAMu. Jeżeli Grafana działa na Raspberry Pi pierwszej generacji bez swapa to znaczy, że zapotrzebowanie na RAM nie jest zatrważająco wielkie. Podobnie jest w przypadku Telegrafu - binarka ogromna ale w praktyce używa się kilku-kilkunastu wtyczek i zużycie RAMu jest niskie.

Status tego projektu jest bardzo prosty - ponieważ pakiety stworzyłem na swój użytek to jak będę potrzebował to sobie je zaktualizuję. Chyba, że ktoś zgłosi zapotrzebowanie to wtedy - jak będę miał czas - zaktualizuje je również i tyle.

2

(2 odpowiedzi, napisanych Oprogramowanie / Software)

Jakby ktoś był zainteresowany to skleciłem paczki Grafany i paru innych programów do zbierania/podglądania metryk. Znaleźć je można tutaj.

Zależało mi głównie na go-carbon oraz carbonapi ale znajdzie się tam jeszcze parę innych pakietów. Są to głównie programy napisane w Golang więc są to kobyły straszne ale przynajmniej prawie nie posiadają zależności. Z powodu rozmiarów to pakiety te nadają się bardziej na PC lub komputerki typu Raspberry Pi niż na routery. W przypadku Grafany i Telegrafa paczki zbudowane są na bazie oficjalnych binarek - nie są kompilowane ze źródeł.

Instalacja powinna być prosta. Najpierw dodajemy feed:

wget -qO - https://roedal.github.io/graphite-feed/graphite-feed.sh | sh

Potem po prostu aktualizujemy listę pakietów i instalujemy co chcemy:

opkg update
opkg install grafana

Domyślnie usługi są zablokowane. Przed odblokowaniem proponuję sprawdzić/zmodyfikować plik konfiguracyjny:

nano /etc/grafana/grafana.ini

Na koniec włączamy usługę:

uci set grafana.main.enable=1
uci commit
service grafana restart

Pierwsze uruchomienie może trochę potrwać. Postęp instalacji podglądać można w logu systemowym:

logread -l 30 -f

Postanowiłem wypróbować pakiet rtl_433 i zobaczyć czy uda mi się wykorzystując starą malinkę odczytać temperatury z kilku bezprzewodowych czujników temperatury i wysłać do Home Assistanta. Przy okazji dowiedziałem się jak uruchomić rtl_433 na zwykłym koncie (nie root).

Generalnie rtl_433 wykorzystuje bibliotekę rtlsdr. Ta z kolei biblioteka wykorzystuje bibliotekę libusb. libusb komunikuje się z urządzeniami USB poprzez urządzenia w katalogu /dev/bus/usb. W przypadku Debiana reguły udev nadają tym urządzeniom odpowiednie uprawnienia. W przypadku OpenWRT nie ma niestety udev więc zrobiłem prosty skrypt hotplug który to robi dla moich dongli.

#
# location: /etc/hotplug.d/usb/50-rtl-sdr
#
#  idVendor           0x0bda 
#  idProduct          0x2838 
#  bcdDevice            1.00
#
#  idVendor           0x1d19 
#  idProduct          0x1101 
#  bcdDevice            1.00
#

[ "$PRODUCT" = 'bda/2838/100' -o "$PRODUCT" = '1d19/1101/100' ] || exit 0
[ "$ACTION" = add ] || exit 0

DEVSERIAL=$(cat /sys/$DEVPATH/serial)

echo "RTL-SDR[$PRODUCT,$DEVSERIAL]: /dev/$DEVNAME" > /dev/kmsg
chmod 0660 /dev/$DEVNAME
chown root:plugdev /dev/$DEVNAME

Tutaj postępuję jak w Debianie - utworzyłem systemową grupę plugdev i zmieniam uprawnienia i właściciela do urządzenia tak by członek tej grupy miał dostęp do urządzenia. Najprościej oczywiście nadać prawa 0666.

Przy okazji warto może wspomnieć, że skrypty hotplug w trybie "coldplug" (czyli przy starcie systemu) wykonywane są zanim uruchomiona zostanie usługa logowania. Komenda logger więc nie zadziała. Można wysłać komunikat do logera kernela tak jek to widać w powyższym skrypcie. Można też przekierować sobie komunikaty do jakiegoś pliku najlepiej w katalogu /tmp.

4

(0 odpowiedzi, napisanych Oprogramowanie / Software)

To jest prosty sposób na postawienie prymitywnego serwera syslog na OpenWRT.
Domyślnie OWRT obługuje tylko lokalny syslog a ja potrzebowałem na szybko czegoś co odbiera komunikaty syslog z lokalnej sieci.

Instalujemy socat:

opkg update
opkg install socat

Tworzymy plik /etc/init.d/rlog:

#!/bin/sh /etc/rc.common

START=13
STOP=88
USE_PROCD=1

start_service() {
    procd_open_instance
    procd_set_param command /usr/bin/socat -u UDP-RECV:514 UNIX-SENDTO:/dev/log
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_set_param respawn
    procd_close_instance
}

Jak widać nasłuchiwanie jest tylko na UDP. W moim przypadku to jest to czego chciałem.


Uruchamiamy "usługę" ręcznie:

service rlog start

Możemy też uruchomić "usługę" przy starcie systemu:

service rlog enable

Na innym komputerze wysyłamy testowy komunikat (bash):

echo Hello > /dev/udp/192.168.1.1/514

Spawdzamy czy komunikat został odebrany:

logread -l 10

5

(5 odpowiedzi, napisanych Oprogramowanie / Software)

Przy okazji skryptów dla klienta DHCP to jeszcze jeden skrypt ustawiający nazwę hosta zwróconego przez DHCP.
Tworzymy plik /etc/udhcpc.user.d/20-hostname:

#
# udhcpc: Hostname from DHCP
#

set_transient_hostname() {
    echo "setting transient hostname to $1"
    echo $1 > /proc/sys/kernel/hostname
}

case "$1" in
    renew|bound)
        [ -z "$hostname" ] || set_transient_hostname $hostname
    ;;
    deconfig)
        hostname=$(uci -q get system.@system[0].hostname)
        set_transient_hostname ${hostname:-OpenWrt}
    ;;
esac

Postanowiłem spisać kilka uwag dotyczących konfiguracji serwera/klienta czasu (NTP). Tu nie ma nic nowego tylko zebranie w jednym miejscu informacji z kilu miejsc. Może się to komuś przyda a może ktoś ma coś do dodania.


Konfiguracja serwera:

Uruchamianie serwera NTP:

uci set system.ntp.enable_server=1
uci commit

service sysntpd reload

Konfiguracja DHCP:

Konfigurujemy serwer DHCP tak by przekazywał adres serwera NTP jeżeli ktoś się tego domaga:

uci add_list dhcp.lan.dhcp_option='option:ntp-server,0.0.0.0'
uci commit

service dnsmasq reload

Tutaj 0.0.0.0 oznacza "adres interfejsu na którym nasłuchuje serwer DHCP".

Konfiguracja zapory:

Konfigurujemy zaporę tak by wychodzący ruch NTP był przekierowywany na lokalny serwer NTP.

uci add firewall redirect
firewall.@redirect[-1].name='Redirect NTP requiests to local server'
firewall.@redirect[-1].src=lan
firewall.@redirect[-1].src_dport=123
firewall.@redirect[-1].dest=wan
firewall.@redirect[-1].target=DNAT
firewall.@redirect[-1].dest_ip=192.168.1.1
uci commit

service friewall reload

Adres 192.168.1.1 trzeba zamienić na odpowiedni adres sieci lokalnej.

Mój stary telefon SIP potrafi czasami wysyłać żądania NTP do kilku serwerów czasu jednocześnie kilkadziesiąt razy na minutę. Ta reguła pomaga nie wysyłać tego całego ruchu do internetu.

Zwracanie strefy czasowej przez DHCP

To nie jest bezpośrednio związane z serwerem czasu ale można też skonfigurować serwer DHCP tak by przekazywał strefę czasową jeżeli ktoś o nią poprosi (systemd, netplan).

uci add_list dhcp.lan.dhcp_option=option:posix-timezone,CET-1CEST,M3.5.0,M10.5.0/3
uci add_list dhcp.lan.dhcp_option=option:tzdb-timezone,Europe/Warsaw
uci commit

service dnsmasq reload

Odpowiedni łańcuch POSIX dla strefy czasowej można znaleźć tutaj.

Konfiguracja klienta

W przypadku gdy adres WAN jest zdobywany przez DHCP można usunąć listę serwerów NTP używać tylko adresów zwróconych przez DHCP (jeżeli takie adresy są zwracane):

uci delete system.ntp.server
uci commit

service sysntpd reload

Można też używać serwerów czasu Głównego Urzędu Miar.

uci add_list system.ntp.server=tempus1.gum.gov.pl
uci add_list system.ntp.server=tempus2.gum.gov.pl
uci commit

service sysntpd reload

Ustawienie strefy czasowej zwróconej przez DHCP

Najpierw musimy poprosić serwer DHCP o zwrócenie potrzebnych informacji:

uci set network.wan.reqopts='tzstr tzdbstr'

Potem musimy utworzyć skrypt /etc/udhcpc.user.d/10-timezone:

#
# udhcpc: Timezone from DHCP
#

set_transient_timezone() {
    echo $1 > /tmp/TZ

    [ -n "$2" ] && \
        [ -f "/usr/share/zoneinfo/$2" ] && \
        ln -sf "/usr/share/zoneinfo/$2" /tmp/localtime && \
        rm -f /tmp/TZ

    if [ -f /tmp/TZ ]; then
        echo "setting transient timezone to $(cat /tmp/TZ)"
    else
        echo "setting transient timezone to $(readlink /tmp/localtime)"
    fi
    hwclock -u --systz
}

case "$1" in
    renew|bound)
        [ -z "$tzstr" -a -z "$tzdbstr" ] || set_transient_timezone ${tzstr:-UTC} ${tzdbstr:-UTC}
    ;;
    deconfig)
        tzstr=$(uci -q get system.@system[0].timezone)
        tzdbstr=$(uci -q get system.@system[0].zonename)
        set_transient_timezone ${tzstr:-UTC} ${tzdbstr:-UTC}
    ;;
esac

Przydałoby się wspomnieć, że skrypt zaprezentowany przez Leo-PL należy umieścić w katalogu /etc/hotplug.d/tty a nie w /etc/hotplug.d/usb. Skrypty w podkatalogu tty są wykonywane również w trybie coldplug czyli przy starcie systemu. Dodatkowo zamiast zmiennej DEVNAME jest zmienna DEVICENAME. Przynajmniej w wersji 22.05. Możliwe, że we wcześniejszych wersjach było inaczej.

W oparciu o ten skrypt stworzyłem własny który działa w wersji 22.05. Dodatkowo jest on konfigurowalny przez uci. Paczkę można pobrać i zainstalować ręcznie z GitHuba. Plik konfiguracyjny to /etc/config/persistent-tty. Po zainstalowaniu domyślnie skrypt nie jest aktywny. Trzeba go uaktywnić poleceniem:

uci set persistent-tty.general.enabled=yes
uci commit

Następnie podpinamy nasze urządzenie do USB i w logu powinny pojawić się odpowiednie wpisy:

Wed Jul 12 09:18:40 2023 user.notice tty: [DRY RUN] ttyUSB3 ===> serial/by-path/platform_soc_1c14000.usb_usb1_1-1_1-1.2_1-1.2:1.0
Wed Jul 12 09:18:40 2023 user.notice tty: [DRY RUN] ttyUSB3 ===> serial/by-id/usb-FTDI:FT232R_USB_UART-if00-port0
Wed Jul 12 09:18:40 2023 user.notice tty: [DRY RUN] ttyUSB3 ===> serial/by-id/usb-0403:6001-if00-port0
Wed Jul 12 09:18:40 2023 user.notice tty: [DRY RUN] ttyUSB3 ===> serial/by-id/usb-AH05WPW6-if00-port0

Jak widać linki wciąż nie są tworzone bo skrypt działa w trybie dry run czyli tylko pokazuje co zrobi. Tryb dry run wyłączamy poleceniem

uci set persistent-tty.general.dry_run=off
uci commit

Teraz po wyjęciu i ponownym wpięciu urządzenia powinny utworzyć się odpowiednie linki:

Wed Jul 12 09:36:39 2023 user.notice tty: ttyUSB3 ===> serial/by-path/platform_soc_1c14000.usb_usb1_1-1_1-1.2_1-1.2:1.0
Wed Jul 12 09:36:39 2023 user.notice tty: ttyUSB3 ===> serial/by-id/usb-FTDI:FT232R_USB_UART-if00-port0
Wed Jul 12 09:36:39 2023 user.notice tty: ttyUSB3 ===> serial/by-id/usb-0403:6001-if00-port0
Wed Jul 12 09:36:39 2023 user.notice tty: ttyUSB3 ===> serial/by-id/usb-AH05WPW6-if00-port0

Możemy też dodać własne linki:

uci set persistent-tty.ftdi=by_id
uci set persistent-tty.ftdi.manufacturer='FTDI'
uci set persistent-tty.ftdi.product='FT232R USB UART'
uci set persistent-tty.ftdi.link='ftdi-${serial}'
uci commit

albo po ID:

uci set persistent-tty.ftdi=by_id
uci set persistent-tty.ftdi.manufacturerId='0403'
uci set persistent-tty.ftdi.productId='6001'
uci set persistent-tty.ftdi.link='ftdi-${serial}'
uci commit

W każdej sekcji można też niezależnie ustawić opcje enabled oraz dry_run:

uci set persistent-tty.ftdi.dry_run=1
uci commit

8

(2 odpowiedzi, napisanych Oprogramowanie / Software)

Jasne, że nie zaznaczyłem smile. Dzięki wielkie.

Witam.

Zachciało mi się stworzyć paczkę qfirehose dla wersji 22.03.1. Makefile został już dodany do repo: http://github.com/openwrt/packages/tree … /qfirehose. Nie ma oczywiście tej paczki w wydaniach 22.03.x ale pomyślałem, że skoro to tylko Makefile to mogę go spokojnie użyć w wersji 22.03.1. Więc po prostu w katalogu packages utworzyłem katalog qfirehose a w nim plik Makefile dokładnie taki jak znalazłem w repo.

Niestety kompletnie utknąłem. Polecenie make package/qfirehose/compile nie robi kompletnie nic. Nie pobiera źródeł ani tym bardziej ich nie kompiluje ale żadnego błędu też nie pokazuje:

$ make package/qfirehose/compile V=s
make[2]: Entering directory '/home/xxx/Documents/Quectel/openwrt/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/home/xxx/Documents/Quectel/openwrt/scripts/config'
make[1]: Entering directory '/home/xxx/Documents/Quectel/openwrt'
make[2]: Entering directory '/home/xxx/Documents/Quectel/openwrt/package/libs/toolchain'
echo "libc" >> /home/xxx/Documents/Quectel/openwrt/staging_dir/target-x86_64_musl/pkginfo/toolchain.default.install
echo "libgcc" >> /home/xxx/Documents/Quectel/openwrt/staging_dir/target-x86_64_musl/pkginfo/toolchain.default.install
echo "libpthread" >> /home/xxx/Documents/Quectel/openwrt/staging_dir/target-x86_64_musl/pkginfo/toolchain.default.install
echo "librt" >> /home/xxx/Documents/Quectel/openwrt/staging_dir/target-x86_64_musl/pkginfo/toolchain.default.install
make[2]: Leaving directory '/home/xxx/Documents/Quectel/openwrt/package/libs/toolchain'
time: package/libs/toolchain/compile#0.14#0.06#0.19
make[2]: Entering directory '/home/xxx/Documents/Quectel/openwrt/package/qfirehose'
make[2]: Nothing to be done for 'compile'.
make[2]: Leaving directory '/home/xxx/Documents/Quectel/openwrt/package/qfirehose'
time: package/qfirehose/compile#0.81#0.09#0.89
make[1]: Leaving directory '/home/xxx/Documents/Quectel/openwrt'

Milutko. Ma ktoś może pomysł jak to ruszyć?
Samo polecenie make wykonało się bez problemu.

10

(8 odpowiedzi, napisanych Oprogramowanie / Software)

Sam ostatnio trochę męczyłem się z firewallem i podobnie chciałem jakoś ogarnąć konwersję z iptables takiej konstrukcji:

iptables -A FORWARD -i $ILAN -o $IVPN -j ACCEPT
iptables -A FORWARD -i $IVPN -o $ILAN -m state --state RELATED,ESTABLISHED -j ACCEPT

Czyli generalnie zezwolenie na przekierowywanie (forwarding) $ILAN <--> $IVPN z ograniczeniami w kierunku $IVPN --> $ILAN. To reguły które można znaleźć w wielu tutorialach. Nawet u Cezarego.

Doszedłem do takiej konfiguracji firewalla:

config forwarding
        option src 'lan'
        option dest 'vpn'

config forwarding
        option name 'forward-vpn-to-lan'
        option src 'vpn'
        option dest 'lan'
        option enabled '0'

config include
        option  type            'nftables'
        option  path            '/etc/forward-vpn-to-lan.nft'
        option  chain           'forward_vpn'
        option  position        'chain-post'

Wiem, ten drugi config jest zablokowany. Umieściłem go tylko po to by jakoś zapamiętać, że ten forwarding realizowany jest przez własny skrypt NFT zaraz poniżej. Komentarzy nie używam bo uci i tak je wykasuje.

A zawartość /etc/forward-vpn-to-lan.nft wygląda tak:

oifname $lan_devices ct state related,established counter accept comment "Limited forwarding from VPN to LAN"

Może warto jeszcze wspomnieć, że komenda:

nft list table inet fw4

pomaga zobaczyć wszystkie załadowane reguły w przeciwieństwie do komendy fw4 print która nie pokazuje reguł z własnych skryptów NFT (pokazuje tylko include coś-tam.nft).

11

(0 odpowiedzi, napisanych Oprogramowanie / Software)

Miałem ostatnio okazję do pobawienia się Dockerem na OpenWRT. Generalnie chciałem zainstalować i uruchomić Pi-Hole za pomocą Dockera.
Punktem wyjścia był post Running PiHole on OpenWrt (x86/RPi) using Docker jednak w tym poście zakłada się, że Docker jest odpalany na routerze. Moje założenie natomiast było takie, że komputerek z Dockerem nie pełni funkcji routera. Ma po prosu tylko LAN i tyle.

Efektem tych zabaw jest zestaw skryptów bashowych tworzących własne obrazy OpenWRT z wstępnie zainstalowanym i skonfigurowanym Dockerem.
Wykorzystuję po prostu ImageBuildery z OpenWRT z własnymi skryptami startowymi i kilkoma plikami konfiguracyjnymi. Generalnie już po pierwszym uruchomieniu z tego obrazu powinno być możliwe uruchomienie kontenera dockerowego.

Jest to więc dla tych co linii komend w Linuksie się nie boją. Może się to komuś jeszcze przyda - chociażby jako inspiracja do własnych zabaw.

Początkowo wygrzebałem z szuflady starą malinkę pierwszej generacji. Potem jednak przesiadłem się na innego staruszka: Olimex OLinuXino LIME A10. Ten drugi komputerek radzi sobie zdecydowanie lepiej niż stara malina. Potem dołożyłem jeszcze generatory obrazów dla komputerków NanoPi NEO oraz OrangePi One. Po prostu mam te komputerki i mogę przetestować czy generatory działają. Na pewno da się stworzyć skrypty dla nowszych Malin ale nie mam w tech chwili żadnej pod ręką.

Okazuje się, że Pi-Hole zainstalowany z Dockera działa całkiem przyzwoicie nawet na tej starej malinie. Odpalenie systemu oraz instalacja kontenera trwa dłuuuugo ale gdy się już wszystko zainstaluje i uruchomi to działa całkiem znośnie - nie ma co narzekać.

12

(35 odpowiedzi, napisanych Oprogramowanie / Software)

Ja mam tylko doświadczenia z pakietem mpd-mini. To całkowicie wystarcza dla radia MP3 lub AAC. Usługa mpd jest domyślnie uruchamiana na koncie mpd. Aby możliwe było odtwarzanie poprzez ALSA użytkownik musi należeć do grupy systemowej audio której domyślnie w OpenWRT nie ma. Ewentualnie można też mpd uruchomić na koncie root-a ale jest to mniej "bezpieczne".

Grupę audio można dodać "ręcznie" edytując plik /etc/group. Można też zainstalować paczki shadow-groupadd oraz shadow-usermod i dokonać modyfikacji za pomocą poleceń groupadd oraz usermod:

groupadd -r audio
usermod -a -G audio mpd

Jeżeli chcemy zmienić konto na którym działa usługa mpd to trzeba zmodyfikować plik /etc/init.d/mpd i zmienić USER oraz GROUP:

USER="root"
GROUP="root"

Na koniec trzeba zatrzymać i uruchomić usługę ponownie (nie restart):

service mpd stop
service mpd start

Wydaje mi się, że do odtwarzania radia internetowego opcja playlist_directory jest zbędna. Jednak jeżeli w konfigu nie ma tej opcji to trzeba też zmodyfikować /etc/init.d/mpd i wywalić/zakomentować linijki:

        #create mpd directories from config
        pld=$(grep ^playlist_directory "$CONFIGFILE" | cut -d "\"" -f 2 | sed "s/~/\/root/g")
        if [ ! -d "$pld" ]; then
                mkdir -m 0755 -p "$pld"
                chown $USER:$GROUP $pld
        fi

W sekcji audio_output można też ustawić mixer_type na hardware:

audio_output {
        type "alsa"
        name "Sound card"
        device "hw:0"
        mixer_type "hardware"
        mixer_device "hw:0"
        mixer_control "Digital"
        auto_resample "no"
}

mixer_control trzeba zmienić w zależności od posiadanej karty.

Poniżej moja pełna konfiguracja mpd (z pakietu mpd-mini):

log_level               "error"
bind_to_address         "127.0.0.1"
zeroconf_enabled        "no"
replaygain              "off"
volume_normalization    "no"
audio_buffer_size       "128"
connection_timeout      "120"

input {
        plugin "file"
        enabled "no"
}

input {
        plugin "alsa"
        enabled "no"
}

input {
        plugin "curl"
        enabled "yes"
}

resampler {
        plugin "internal"
        enabled "yes"
}

decoder {
        plugin "mad"
        enabled "yes"
}

decoder {
        plugin "vorbis"
        enabled "no"
}

decoder {
        plugin "oggflac"
        enabled "no"
}

decoder {
        plugin "flac"
        enabled "no"
}

decoder {
        plugin "opus"
        enabled "no"
}

decoder {
        plugin "faad"
        enabled "yes"
}

decoder {
        plugin "pcm"
        enabled "no"
}

playlist_plugin {
        name "extm3u"
        enabled "no"
}

playlist_plugin {
        name "m3u"
        enabled "no"
}

playlist_plugin {
        name "pls"
        enabled "no"
}

playlist_plugin {
        name "xspf"
        enabled "no"
}

playlist_plugin {
        name "asx"
        enabled "no"
}

playlist_plugin {
        name "rss"
        enabled "no"
}

playlist_plugin {
        name "flac"
        enabled "no"
}

playlist_plugin {
        name "cue"
        enabled "no"
}

playlist_plugin {
        name "embcue"
        enabled "no"
}

audio_output {
        type "alsa"
        name "Sound card"
        device "hw:0"
        mixer_type "hardware"
        mixer_device "hw:0"
        mixer_control "Digital"
        auto_resample "no"
        dop "no"
        replay_gain_handler "none"
}

13

(2 odpowiedzi, napisanych Oprogramowanie / Software)

Fajny projekt. Szkoda, że praktycznie nierozwijany. Przydałoby się możliwość ustawienia nice (priorytetu) oraz użytkownika/grupy tak by usługa nie musiała działać na koncie root'a.

Tak przy okazji napotkałem problem ze skryptem shellowym który ustawiłem jako usługę (procd). Mój skrypt zawiera taką konstrukcję:

mpc idleloop | while read -r line; do
...
done

To powoduje, że powstają dwa procesy potomne: jeden to mpc idleloop a drugi to fork shella wykonujący pętlę while read. Gdy uruchamiam skrypt z konsoli a potem przerywam jego działanie przez CTRL+C wszystko jest w porządku - główny proces jak i procesy potomne zwyczajnie kończą swoją działalność. Ale gdy skrypt jest uruchamiany jako usługa to tylko proces główny kończy działalność ale pozostają procesy potomne. Wspomina o tym autor pservice ale nie pokazuje jak sobie radzić z procesami potomnymi w skrypcie shellowym. Myślałem o własnej obsłudze sygnałów ale wygląda na to, że handlery sygnałów są przez procd w jakiś sposób blokowane. Tak więc nie mam pojęcia jak ugryźć ten problem.

14

(35 odpowiedzi, napisanych Oprogramowanie / Software)

Paczka kmod-sound-soc-hifiberry-dacplus w wersji 22.03 została poprawiona i karta HiFiBerry DAC+ działa już bez problemowo. Wystarczy zainstalować tą paczkę, dodać do /boot/config.txt wpis:

dtoverlay=hifiberry-dacplus

i na koniec zrestartować się.

Też próbowałem zrobić proste radio internetowe ale z kartą (HAT-em) JustBoom. Tutaj niestety trzeba więcej pokombinować. W paczce kmod-sound-soc-justboom-dac brakuje modułu jądra snd-soc-pcm512x-i2c.ko oraz zależności od paczki kmod-regmap-i2c. Szczęśliwie brakujący moduł jądra można znaleźć w innych paczkach np kmod-sound-soc-allo-piano-dac:

opkg install kmod-sound-soc-justboom-dac
opkg --force-overwrite install kmod-sound-soc-allo-piano-dac

Opcja --force-overwrite jest potrzebna gdyż paczki kmod-sound-soc-justboom-dac oraz kmod-sound-soc-allo-piano-dac zawierają ten sam plik: snd-soc-pcm512x.ko.

Przy okazji: podobnie można "naprawić" obsługę karty HiFiBerry Digi:

opkg install kmod-sound-soc-hifiberry-digi
opkg --force-overwrite install kmod-sound-soc-iqaudio-digi

Tutaj brakującym modułem jądra jest snd-soc-wm8804-i2c.ko.

15

(7 odpowiedzi, napisanych Oprogramowanie / Software)

Wydaje mi się, że u klienta brakuje podpięcia interfejsu tap0 do mostka lan tak jak jest to zrobione na serwerze.

config interface 'lan'
        option ifname 'eth0.1 tap0'

16

(76 odpowiedzi, napisanych Oprogramowanie / Software)

Jeszcze raz bardzo dziękuję. Dodanie paczki kmod-usb-dwc2 pomogło.
Wyrzuciłem natomiast następujące pakiety: kmod-usb-ohci, kmod-usb-uhci, kmod-usb2.
Żeby ładnie mrugała dioda od USB dodałem jeszcze kmod-usb-ledtrig-usbport.

17

(76 odpowiedzi, napisanych Oprogramowanie / Software)

Tak w obrazie nie ma modułów USB. Nie można ich też zainstalować bo brakuje już miejsca...
Stworzyłem więc własny obraz z następującymi paczkami:

base-files - 173-r3435-65eec8bd5f
busybox - 1.25.1-4
dnsmasq - 2.77-4
dropbear - 2017.75-2
fstools - 2016-12-04-84b530a7-2
fwtool - 1
hostapd-common - 2016-12-19-ad02e79d-3
iw - 4.9-1
iwinfo - 2016-09-21-fd9e17be-1
jshn - 2017-02-24-96305a3c-1
jsonfilter - 2016-07-02-dea067ad-1
kernel - 4.4.71-1-70d5d00d746681ee83523af344908e7b
kmod-cfg80211 - 4.4.71+2017-01-31-2
kmod-eeprom-93cx6 - 4.4.71-1
kmod-gpio-button-hotplug - 4.4.71-2
kmod-leds-gpio - 4.4.71-1
kmod-lib-crc-ccitt - 4.4.71-1
kmod-lib-crc-itu-t - 4.4.71-1
kmod-mac80211 - 4.4.71+2017-01-31-2
kmod-mii - 4.4.71-1
kmod-nls-base - 4.4.71-1
kmod-rt2800-lib - 4.4.71+2017-01-31-2
kmod-rt2800-mmio - 4.4.71+2017-01-31-2
kmod-rt2800-soc - 4.4.71+2017-01-31-2
kmod-rt2x00-lib - 4.4.71+2017-01-31-2
kmod-rt2x00-mmio - 4.4.71+2017-01-31-2
kmod-usb-core - 4.4.71-1
kmod-usb-net - 4.4.71-1
kmod-usb-net-cdc-ether - 4.4.71-1
kmod-usb-net-cdc-ncm - 4.4.71-1
kmod-usb-net-rndis - 4.4.71-1
kmod-usb-ohci - 4.4.71-1
kmod-usb-uhci - 4.4.71-1
kmod-usb2 - 4.4.71-1
lede-keyring - 2017-01-20-a50b7529-1
libblobmsg-json - 2017-02-24-96305a3c-1
libc - 1.1.16-1
libgcc - 5.4.0-1
libiwinfo - 2016-09-21-fd9e17be-1
libjson-c - 0.12.1-1
libjson-script - 2017-02-24-96305a3c-1
libnl-tiny - 0.1-5
libpthread - 1.1.16-1
librt - 1.1.16-1
libubox - 2017-02-24-96305a3c-1
libubus - 2017-02-18-34c6e818-1
libuci - 2016-07-04-e1bf4356-1
libuclient - 2016-12-09-52d955fd-1
libusb-1.0 - 1.0.21-1
logd - 2017-03-10-16f7e161-1
mtd - 21
netifd - 2017-01-25-650758b1-1
odhcp6c - 2017-01-30-c13b6a05-2
procd - 2017-02-15-5f912410-1
swconfig - 11
ubox - 2017-03-10-16f7e161-1
ubus - 2017-02-18-34c6e818-1
ubusd - 2017-02-18-34c6e818-1
uci - 2016-07-04-e1bf4356-1
uclient-fetch - 2016-12-09-52d955fd-1
usb-modeswitch - 2017-05-24-453da8e5-1
usign - 2015-07-04-ef641914-1
wpad-mini - 2016-12-19-ad02e79d-3

Może jakiś moduł pominąłem?
A USB po prostu nie działa - żadnego komunikatu w logu po podpięciu jakiegokolwiek urządzenia.

root@LEDE:~# logread
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.000000] Linux version 4.4.71 (buildbot@builds-02.infra.lede-project.org) (gcc version 5.4.0 (LEDE GCC 5.4.0 r3102-0224e32) ) #0 Wed Jun 7 19:24:41 2017
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] SoC Type: Ralink RT3350 id:1 rev:2
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] bootconsole [early0] enabled
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] CPU0 revision is: 0001964c (MIPS 24KEc)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] MIPS: machine is Edimax 3g-6200n
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Determined physical RAM map:
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000]  memory: 02000000 @ 00000000 (usable)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Initrd not found or empty - disabling initrd
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Zone ranges:
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000]   Normal   [mem 0x0000000000000000-0x0000000001ffffff]
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Movable zone start for each node
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Early memory node ranges
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000]   node   0: [mem 0x0000000000000000-0x0000000001ffffff]
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000001ffffff]
Tue Sep 12 12:15:53 2017 kern.debug kernel: [    0.000000] On node 0 totalpages: 8192
Tue Sep 12 12:15:53 2017 kern.debug kernel: [    0.000000] free_area_init_node: node 0, pgdat 803344b0, node_mem_map 81000000
Tue Sep 12 12:15:53 2017 kern.debug kernel: [    0.000000]   Normal zone: 64 pages used for memmap
Tue Sep 12 12:15:53 2017 kern.debug kernel: [    0.000000]   Normal zone: 0 pages reserved
Tue Sep 12 12:15:53 2017 kern.debug kernel: [    0.000000]   Normal zone: 8192 pages, LIFO batch:0
Tue Sep 12 12:15:53 2017 kern.warn kernel: [    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
Tue Sep 12 12:15:53 2017 kern.warn kernel: [    0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes
Tue Sep 12 12:15:53 2017 kern.debug kernel: [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
Tue Sep 12 12:15:53 2017 kern.debug kernel: [    0.000000] pcpu-alloc: [0] 0
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Writing ErrCtl register=00039ee0
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Readback ErrCtl register=00039ee0
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] Memory: 28616K/32768K available (2889K kernel code, 135K rwdata, 356K rodata, 196K init, 196K bss, 4152K reserved, 0K cma-reserved)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] NR_IRQS:256
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] CPU Clock: 320MHz
Tue Sep 12 12:15:53 2017 kern.crit kernel: [    0.000000] clocksource_probe: no matching clocksources found
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 11945377789 ns
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.000018] sched_clock: 32 bits at 160MHz, resolution 6ns, wraps every 13421772796ns
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.015744] Calibrating delay loop... 212.58 BogoMIPS (lpj=1062912)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.100940] pid_max: default: 32768 minimum: 301
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.110410] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.123537] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.147944] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.167555] futex hash table entries: 256 (order: -1, 3072 bytes)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.179845] pinctrl core: initialized pinctrl subsystem
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.193099] NET: Registered protocol family 16
Tue Sep 12 12:15:53 2017 kern.warn kernel: [    0.211873] Can't analyze schedule() prologue at 8000ac9c
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.256889] rt2880_gpio 10000600.gpio: registering 24 gpios
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.268069] rt2880_gpio 10000600.gpio: registering 24 irq handlers
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.283340] clocksource: Switched to clocksource MIPS
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.295912] NET: Registered protocol family 2
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.306888] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.320853] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.333494] TCP: Hash tables configured (established 1024 bind 1024)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.346411] UDP hash table entries: 256 (order: 0, 4096 bytes)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.358102] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.371225] NET: Registered protocol family 1
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.391642] rt-timer 10000100.timer: maximum frequency is 3255Hz
Tue Sep 12 12:15:53 2017 kern.warn kernel: [    0.405455] Crashlog allocated RAM at address 0x1f00000
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.456394] squashfs: version 4.0 (2009/01/31) Phillip Lougher
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.468033] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.494633] io scheduler noop registered
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.502317] io scheduler deadline registered (default)
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.513920] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.534256] console [ttyS0] disabled
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.541341] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 6666666) is a Palmchip BK-3103
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.561225] console [ttyS0] enabled
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.575160] bootconsole [early0] disabled
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.593532] 1f000000.cfi: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x0000c2 Chip ID 0x0022a8
Tue Sep 12 12:15:53 2017 kern.debug kernel: [    0.613802] 1f000000.cfi: Found an alias at 0x400000 for the chip at 0x0
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.613883] Amd/Fujitsu Extended Query Table at 0x0040
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.624328]   Amd/Fujitsu Extended Query version 1.1.
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.634572] number of CFI chips: 1
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.654539] 5 ofpart partitions found on MTD device 1f000000.cfi
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.666803] Creating 5 MTD partitions on "1f000000.cfi":
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.677583] 0x000000000000-0x000000030000 : "u-boot"
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.691413] 0x000000030000-0x000000040000 : "u-boot-env"
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.706789] 0x000000040000-0x000000050000 : "factory"
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.721483] 0x0000003e0000-0x000000400000 : "cimage"
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.736112] 0x000000050000-0x0000003e0000 : "firmware"
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.751596] 2 edimax-fw partitions found on MTD device firmware
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.763764] 0x000000050000-0x00000016af67 : "kernel"
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.778012] 0x00000016af67-0x0000003e0000 : "rootfs"
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.792515] mtd: device 6 (rootfs) set to be root filesystem
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.804150] 1 squashfs-split partitions found on MTD device rootfs
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    0.816701] 0x0000002f0000-0x0000003e0000 : "rootfs_data"
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.836307] rt3050-esw 10110000.esw: link changed 0x01
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.851984] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.869975] rt2880_wdt 10000120.watchdog: Initialized
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.883106] NET: Registered protocol family 10
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.901668] NET: Registered protocol family 17
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.911058] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.936626] 8021q: 802.1Q VLAN Support v1.8
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.958070] VFS: Mounted root (squashfs filesystem) readonly on device 31:6.
Tue Sep 12 12:15:53 2017 kern.info kernel: [    0.975338] Freeing unused kernel memory: 196K (8034f000 - 80380000)
Tue Sep 12 12:15:53 2017 user.info kernel: [    2.538394] init: Console is alive
Tue Sep 12 12:15:53 2017 user.info kernel: [    2.546029] init: - watchdog -
Tue Sep 12 12:15:53 2017 user.info kernel: [    3.519417] kmodloader: loading kernel modules from /etc/modules-boot.d/*
Tue Sep 12 12:15:53 2017 kern.info kernel: [    3.652863] usbcore: registered new interface driver usbfs
Tue Sep 12 12:15:53 2017 kern.info kernel: [    3.664373] usbcore: registered new interface driver hub
Tue Sep 12 12:15:53 2017 kern.info kernel: [    3.675514] usbcore: registered new device driver usb
Tue Sep 12 12:15:53 2017 kern.info kernel: [    3.698323] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Tue Sep 12 12:15:53 2017 kern.info kernel: [    3.714882] ehci-platform: EHCI generic platform driver
Tue Sep 12 12:15:53 2017 kern.info kernel: [    3.731770] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Tue Sep 12 12:15:53 2017 kern.info kernel: [    3.747027] ohci-platform: OHCI generic platform driver
Tue Sep 12 12:15:53 2017 user.info kernel: [    3.765682] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
Tue Sep 12 12:15:53 2017 user.info kernel: [    3.791361] init: - preinit -
Tue Sep 12 12:15:53 2017 kern.info kernel: [    4.627203] 8021q: adding VLAN 0 to HW filter on device eth0
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    4.886358] random: procd: uninitialized urandom read (4 bytes read, 7 bits of entropy available)
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    8.114851] jffs2: notice: (329) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
Tue Sep 12 12:15:53 2017 user.info kernel: [    8.148815] mount_root: switching to jffs2 overlay
Tue Sep 12 12:15:53 2017 user.warn kernel: [    8.172193] urandom-seed: Seeding with /etc/urandom.seed
Tue Sep 12 12:15:53 2017 user.info kernel: [    8.407352] procd: - early -
Tue Sep 12 12:15:53 2017 user.info kernel: [    8.413805] procd: - watchdog -
Tue Sep 12 12:15:53 2017 user.info kernel: [    9.098488] procd: - ubus -
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    9.157409] random: ubusd: uninitialized urandom read (4 bytes read, 15 bits of entropy available)
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    9.176925] random: ubusd: uninitialized urandom read (4 bytes read, 15 bits of entropy available)
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    9.195498] random: ubusd: uninitialized urandom read (4 bytes read, 15 bits of entropy available)
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    9.214932] random: ubusd: uninitialized urandom read (4 bytes read, 15 bits of entropy available)
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    9.233418] random: ubusd: uninitialized urandom read (4 bytes read, 15 bits of entropy available)
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    9.252380] random: ubusd: uninitialized urandom read (4 bytes read, 15 bits of entropy available)
Tue Sep 12 12:15:53 2017 kern.notice kernel: [    9.271423] random: ubusd: uninitialized urandom read (4 bytes read, 15 bits of entropy available)
Tue Sep 12 12:15:53 2017 user.info kernel: [    9.291036] procd: - init -
Tue Sep 12 12:15:53 2017 user.info kernel: [    9.642896] kmodloader: loading kernel modules from /etc/modules.d/*
Tue Sep 12 12:15:53 2017 kern.info kernel: [    9.667858] Loading modules backported from Linux version wt-2017-01-31-0-ge882dff19e7f
Tue Sep 12 12:15:53 2017 kern.info kernel: [    9.684190] Backport generated by backports.git backports-20160324-13-g24da7d3c
Tue Sep 12 12:15:53 2017 kern.info kernel: [    9.714464] usbcore: registered new interface driver cdc_ether
Tue Sep 12 12:15:53 2017 kern.info kernel: [    9.732163] usbcore: registered new interface driver cdc_ncm
Tue Sep 12 12:15:53 2017 kern.info kernel: [    9.834736] usbcore: registered new interface driver rndis_host
Tue Sep 12 12:15:53 2017 kern.info kernel: [    9.884241] rt2800_wmac 10180000.wmac: loaded eeprom from mtd device "factory"
Tue Sep 12 12:15:53 2017 kern.info kernel: [    9.899000] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 2872, rev 0200 detected
Tue Sep 12 12:15:53 2017 kern.info kernel: [    9.914730] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0005 detected
Tue Sep 12 12:15:53 2017 kern.debug kernel: [    9.930120] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
Tue Sep 12 12:15:53 2017 user.info kernel: [   10.003853] kmodloader: done loading kernel modules from /etc/modules.d/*
Tue Sep 12 12:15:53 2017 kern.notice kernel: [   11.231903] random: jshn: uninitialized urandom read (4 bytes read, 18 bits of entropy available)
Tue Sep 12 12:15:53 2017 kern.notice kernel: [   11.363137] random: ubusd: uninitialized urandom read (4 bytes read, 18 bits of entropy available)
Tue Sep 12 12:15:55 2017 user.notice : Added device handler type: 8021ad
Tue Sep 12 12:15:55 2017 user.notice : Added device handler type: 8021q
Tue Sep 12 12:15:55 2017 user.notice : Added device handler type: macvlan
Tue Sep 12 12:15:55 2017 user.notice : Added device handler type: bridge
Tue Sep 12 12:15:55 2017 user.notice : Added device handler type: Network device
Tue Sep 12 12:15:55 2017 user.notice : Added device handler type: tunnel
Tue Sep 12 12:15:55 2017 user.notice : 'radio0' is disabled
Tue Sep 12 12:15:55 2017 user.notice : 'radio0' is disabled
Tue Sep 12 12:15:58 2017 authpriv.info dropbear[602]: Not backgrounding
Tue Sep 12 12:15:58 2017 user.notice : setting up led wifi
Tue Sep 12 12:15:58 2017 user.notice : setting up led USB
Tue Sep 12 12:15:58 2017 user.notice : /etc/rc.common: eval: line 1: can't create /sys/class/leds/3g-6200n:blue:3g/ports/usb1-port1: nonexistent directory
Tue Sep 12 12:16:00 2017 kern.info kernel: [   19.250004] 8021q: adding VLAN 0 to HW filter on device eth0
Tue Sep 12 12:16:00 2017 kern.info kernel: [   19.293876] device eth0.1 entered promiscuous mode
Tue Sep 12 12:16:00 2017 kern.info kernel: [   19.303722] device eth0 entered promiscuous mode
Tue Sep 12 12:16:00 2017 kern.info kernel: [   19.357194] br-lan: port 1(eth0.1) entered forwarding state
Tue Sep 12 12:16:00 2017 kern.info kernel: [   19.368696] br-lan: port 1(eth0.1) entered forwarding state
Tue Sep 12 12:16:00 2017 daemon.notice netifd: Interface 'lan' is enabled
Tue Sep 12 12:16:00 2017 daemon.notice netifd: Interface 'lan' is setting up now
Tue Sep 12 12:16:00 2017 daemon.notice netifd: Interface 'lan' is now up
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Interface 'loopback' is enabled
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Interface 'loopback' is setting up now
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Interface 'loopback' is now up
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Interface 'wan' is enabled
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Interface 'wan6' is enabled
Tue Sep 12 12:16:01 2017 daemon.notice netifd: bridge 'br-lan' link is up
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Interface 'lan' has link connectivity
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Network device 'eth0' link is up
Tue Sep 12 12:16:01 2017 daemon.notice netifd: VLAN 'eth0.1' link is up
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Network device 'lo' link is up
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Interface 'loopback' has link connectivity
Tue Sep 12 12:16:01 2017 daemon.notice netifd: VLAN 'eth0.2' link is up
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Interface 'wan' has link connectivity
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Interface 'wan' is setting up now
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Interface 'wan6' has link connectivity
Tue Sep 12 12:16:01 2017 daemon.notice netifd: Interface 'wan6' is setting up now
Tue Sep 12 12:16:02 2017 daemon.notice netifd: wan (706): udhcpc: started, v1.25.1
Tue Sep 12 12:16:02 2017 daemon.err odhcp6c[707]: Failed to send DHCPV6 message to ff02::1:2 (Address not available)
Tue Sep 12 12:16:02 2017 kern.info kernel: [   21.363481] br-lan: port 1(eth0.1) entered forwarding state
Tue Sep 12 12:16:02 2017 daemon.notice netifd: wan (706): udhcpc: sending discover
Tue Sep 12 12:16:03 2017 daemon.info procd: - init complete -
Tue Sep 12 12:16:05 2017 daemon.notice netifd: wan (706): udhcpc: sending discover
Tue Sep 12 12:16:08 2017 daemon.info dnsmasq[802]: started, version 2.77 cachesize 150
Tue Sep 12 12:16:08 2017 daemon.info dnsmasq[802]: DNS service limited to local subnets
Tue Sep 12 12:16:08 2017 daemon.info dnsmasq[802]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-auth no-DNSSEC no-ID loop-detect inotify
Tue Sep 12 12:16:08 2017 daemon.info dnsmasq-dhcp[802]: DHCP, IP range 192.168.1.100 -- 192.168.1.249, lease time 12h
Tue Sep 12 12:16:08 2017 daemon.info dnsmasq[802]: using local addresses only for domain lan
Tue Sep 12 12:16:08 2017 daemon.warn dnsmasq[802]: no servers found in /tmp/resolv.conf.auto, will retry
Tue Sep 12 12:16:08 2017 daemon.info dnsmasq[802]: read /etc/hosts - 4 addresses
Tue Sep 12 12:16:08 2017 daemon.info dnsmasq[802]: read /tmp/hosts/dhcp.cfg02411c - 2 addresses
Tue Sep 12 12:16:08 2017 daemon.info dnsmasq-dhcp[802]: read /etc/ethers - 0 addresses
Tue Sep 12 12:16:08 2017 daemon.notice netifd: wan (706): udhcpc: sending discover
root@LEDE:~#

18

(76 odpowiedzi, napisanych Oprogramowanie / Software)

Tak to jest właśnie ten.
Bardzo dziękuję.

LEDE wgrany. Szkoda tylko, że w wersji 17.01.2 USB nie działa.
Może zabrakło jakiegoś wpisu w DTB?

19

(76 odpowiedzi, napisanych Oprogramowanie / Software)

Próbuję zainstalować LEDE na tym routerze jednak linki podane na stronie
http://wiki.openwrt.org/toh/edimax/3g-6200n są martwe.

Od biedy znajdzie się jeszcze firmware 2.21b jednak statycznie skompilowanego mtd już nie potrafię znaleźć.
Wszystkie znalezione linki są martwe.
Próbowałem zamiast programu mtd posłużyć się poleceniem nandwrite z busybox'a:

./busybox nandwrite /dev/mtd6 /tmp/lede-17.01.2-ramips-rt305x-3g-6200n-squashfs-sysupgrade.bin

jednak ta metoda nie zadziałała (nieobsługiwany IOCTL).

Gdzie można zatem znaleźć statycznie skompilowany mtd lub jak go sobie skompilować?
Czy do kompilacji wystarczy SDK od LEDE/OpenWRT?