Przygotowanie i instalacja SDMOD dla OpenWrt na routerze Compex WPE53G
Ostatnia zmiana: 2013-11-26 18:43

Opisany Compex WPE53G zawiera kilka linii GPIO które można wykorzystać do różnych celów. Standardowo może to być np. SDMOD, czyli dołączenie karty sieciowej.

Hardware

Niezbędne elementy to:
- ruter
- kilka przewodów
- karta SD ze złączem

Karta SD ma 9 styków numerowanych w następujący sposób


..9 1 2 3 4 5 6 7 8
..._________________
../ # # # # # # # # |
./  # # # # # # # # |
.|#                 |


Kartę SD (złącze) należy podłączyć w następujący sposób:


    Karta SD       WPE53G
    
    9
    1 CS           GPIO 3
    2 DI           GPIO 2
    3 GND          GND
    4 VDD          +3,3v
    5 CLK          GPIO 1
    6 GND          GND
    7 DO           GPIO 4
    8


Natomiast GPIO na płytce umiejscowione są w następujących punktach (p. kontrolny to miejsce na płytce obok cpu, oznaczone napisem na druku)
- GPIO 0: SPI flash CS (nie do wykorzystania)
- GPIO 1: punkt kontrolny 1011
- GPIO 2: led DS10 (diagnostic)
- GPIO 3: punkt kontrolny 103
- GPIO 4: punkt kontrolny 101
- GPIO 5: cpu reset (nie do wykorzystania)
- GPIO 6: przycisk reset
- GPIO 7: led DS9 (WLAN)
Zasilanie (+3v3, GND) znajduje się na złączu JP1 (serial port, skrajne piny)

Całość połączenia może wyglądać następująco:


(kliknij, aby powiększyć)

Software

Instalacja

Należy zainstalować pakiet do obsługi karty SD, system automatycznego montowania karty oraz system plików (vfat w tym przypadku), czyli:


    # opkg install kmod-mmc-over-gpio block-mount block-hotplug kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1

dla ext2 należy doinstalować jeszcze pakiet kmod-fs-ext2.

Konfiguracja

W zależności od przypisanych gpio do karty należy podać odpowiednie parametry do pliku konfiguracyjnego. Jeżeli są takie jak w/w, sprowadza się to do wykonania następujących poleceń:


    # uci set mmc_over_gpio.@mmc_over_gpio[0].enabled=1
    # uci set mmc_over_gpio.@mmc_over_gpio[0].DI_pin=2
    # uci set mmc_over_gpio.@mmc_over_gpio[0].DO_pin=4
    # uci set mmc_over_gpio.@mmc_over_gpio[0].CLK_pin=1
    # uci set mmc_over_gpio.@mmc_over_gpio[0].CS_pin=3
    # uci commit mmc_over_gpio.
    # /etc/init.d/mmc_over_gpio start

Po pomyślnej inicjacji podsystemu w logach (polecenie logread) powinna znaleźć się informacja podobna do tej:


gpio-mmc: Failed to request mmc_spi module.
mmc_spi spi32766.0: ASSUMING 3.2-3.4 V slot power
mmc_spi spi32766.0: SD/MMC host mmc0, no DMA, no WP, no poweroff
gpio-mmc: MMC-Card "default" attached to GPIO pins di=2, do=4, clk=1, cs=3
mmc_spi spi32766.0: can't change chip-select polarity
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SD card on SPI
mmcblk0: mmc0:0000 00000 971 MiB 
    mmcblk0: p1

Została wykrywa karta (w tym przypadku była to 1GB karta microSD SAMSUNG). Jeżeli został zainstalowany pakiet block-hotplug, powinna się także automatycznie zamontować w /mnt/mmcblk0p1.

W przypadku błędu inicjacji (-22) należy sprawdzić poprawność lutowania oraz właściwe położenie karty SD w slocie.

Zakończenie

Teraz można zainstalować także np. serwer ftp lub inne usługi wymagające nośnika.