| Pamięć RAM | 64MB |
|---|---|
| Pamięć Flash | 8MB |
| Dysk Twardy | Podłaczany pod port USB 2.0 |
| Interfejsy | 2xUSB 2.0 oraz 1xLAN 10/100MB/s |
| Przyciski | 2x do bezpiecznego usuwania dysku oraz 1x reset |
| LEDy | 1x Power, 1x LAN, 2x USB |
| Wymiary | 150mm (W) x 111.8mm (D) x 30mm (H) |
| Zasilacz | Wyjście: 5V/2A, Wejscie: 100V ~ 240V |
TODO:
| Problem | Postęp |
|---|---|
| naprawić ostatecznie lan | 95% |
| obraz z użyciem squashfs | 50% |
| flaszowanie urządzenia bez zmian w bootloaderze | 0% |
| wysłać kod do dev. OpenWrt | 0% |
| obsługa przycisków/ledów | 10% |
Zanim zaczniesz wgrywać OpenWrt zaopatrz się w:
W obecnej chwili, aby wgrać OpenWrt musimy podłączyć RS232 w celu zmiany zmiennych w bootloaderze ARMboot. Dzieki temu OpenWrt będzie startował automatycznie z flasza. Jednak zanim do tego dojdziemy musimy podłączyć konsole szeregową(RS232).
Fabryczny Emprex NSD-100 posiada niemal całą elektronikę(w tym potrzebne nam złacze) przykrytą ekranem w postaci metalowej puszki. Na potrzeby podłączenia konsoli możemy ją zdjąć, poprzez odlutowane jej w punktach lutowniczych.
Alternatywnym wyjściem jest przylutowanie kabla od spodu płytki, trzeba tylko uważać na właściwe przylutowanie pinów.
Patrząc z góry, po zdjeciu ekranu
[USB|USB] |LAN|
___________
|VCC|NC|TX|
|GND|NC|RX|
̅̅̅̅̅̅̅̅̅̅̅
|LEDY|
| Download | console | tftp |
|---|---|---|
| kernel 2.6.28.9 | Pobierz | Pobierz |
Pogróbioną czcionką zaznaczono zalecany obraz
Kernel zawiera moduły:
dd if=openwrt-star9100-2.6.28.9-zImage of=/dev/mtdblock1
Programowanie chwile trwa, tak wieć prosze być cierpliwym.
Po poprawnym uruchomieniu urządzenie jest widoczne pod ip 192.168.1.2 za pomoca telnetu.
Obraz zawiera:
ntpclient samba-server vsftpd transmission-deamon-1.74
Pakiety w repo:
lighttpd rtorrent p910nd cfdisk fdisk swap-utils mc unzip screen
Warto ustawić repo opkg:
src emprex ftp://artekw/cerbero.pl/openwrt/emprex/packages
Cały kod wpierający platformę STAR910x jest umieszczony na gicie, http://artekw.cerbero.pl/git, projekt star9100.git.
Proces kompilacji:
git clone http://artekw.cerbero.pl/git/star9100
Pobieramy plik mtd.bin na dysk zewnętrzny(pendrive, dysk 2.5”). Następnie po zbotowaniu OpenWrt wykonujemy komende
dd if=mtd.bin of=/dev/mtdblock1
Czekamy chwile i rebotujemy urządzenie. Należy pamiętać, aby ustawić bootloader jak to było przed dokonaniem przeróbki.
login/hasło: admin/root
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Linux version 2.6.28.9 (artek@home) (gcc version 4.1.2) #2 Wed Aug 5 18:56:28 CEST 2009
[ 0.000000] CPU: FA526id(wb) [66015261] revision 1 (ARMv4), cr=0000397f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] Machine: STAR_STR9104
[ 0.000000] Warning: bad configuration page, trying to continue
[ 0.000000] Ignoring unrecognised tag 0x00000000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: console=ttyS0,38400 root=/dev/sda1 rootwait init=/etc/preinit
[ 0.000000] PID hash table entries: 256 (order: 8, 1024 bytes)
[ 0.000000] STR9100 CPU Clock: 200 MHz
[ 0.000000] IRQ Timer1 at int #0x0 clock 100000000(Hz)
[42949372.960000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[42949372.960000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[42949372.980000] Memory: 64MB = 64MB total
[42949372.980000] Memory: 62504KB available (2052K code, 171K data, 100K init)
[42949372.980000] Calibrating delay loop... 153.19 BogoMIPS (lpj=765952)
[42949373.180000] Mount-cache hash table entries: 512
[42949373.180000] CPU: Testing write buffer coherency: ok
[42949373.190000] net_namespace: 288 bytes
[42949373.190000] NET: Registered protocol family 16
[42949373.280000] SCSI subsystem initialized
[42949373.280000] usbcore: registered new interface driver usbfs
[42949373.290000] usbcore: registered new interface driver hub
[42949373.290000] usbcore: registered new device driver usb
[42949373.360000] NET: Registered protocol family 2
[42949373.460000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[42949373.460000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[42949373.460000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[42949373.460000] TCP: Hash tables configured (established 2048 bind 2048)
[42949373.460000] TCP reno registered
[42949373.490000] NET: Registered protocol family 1
[42949373.490000] NetWinder Floating Point Emulator V0.97 (double precision)
[42949373.510000] Registering mini_fo version $Id$
[42949373.510000] msgmni has been set to 122
[42949373.510000] io scheduler noop registered
[42949373.510000] io scheduler anticipatory registered
[42949373.510000] io scheduler deadline registered
[42949373.510000] io scheduler cfq registered (default)
[42949373.510000] Serial: 8250/16550 driver4 ports, IRQ sharing disabled
[42949373.530000] serial8250.11: ttyS0 at MMIO 0xf7800000 (irq = 10) is a 16550A
[42949373.530000] console [ttyS0] enabled
[42949373.570000] loop: module loaded
[42949373.590000] Driver 'sd' needs updating - please use bus_type methods
[42949373.620000] str9100_flash: Found 1 x16 devices at 0x0 in 16-bit bank
[42949373.630000] Amd/Fujitsu Extended Query Table at 0x0040
[42949373.640000] str9100_flash: Swapping erase regions for broken CFI table.
[42949373.650000] number of CFI chips: 1
[42949373.660000] cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
[42949373.670000] Creating 3 MTD partitions on "str9100_flash":
[42949373.680000] 0x00000000-0x00020000 : "armboot"
[42949373.700000] 0x00020000-0x007e0000 : "Kernel & Ramdisk"
[42949373.710000] 0x007e0000-0x00800000 : "configure"
[42949373.730000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[42949373.740000] ehci-str9100 ehci-str9100: STR9100 EHCI Host Controller
[42949373.750000] ehci-str9100 ehci-str9100: new USB bus registered, assigned bus number 1
[42949373.760000] ehci-str9100 ehci-str9100: irq 24, io mem 0xfcc00000
[42949373.790000] ehci-str9100 ehci-str9100: USB 2.0 started, EHCI 1.00
[42949373.810000] usb usb1: configuration #1 chosen from 1 choice
[42949373.820000] hub 1-0:1.0: USB hub found
[42949373.830000] hub 1-0:1.0: 2 ports detected
[42949373.860000] EHCI platform driver Successfully registerd<6>ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[42949373.880000] Initializing STR9100 OHCI controller
[42949373.990000] ohci-str9100 ohci-str9100: STR9100 OHCI
[42949374.000000] ohci-str9100 ohci-str9100: new USB bus registered, assigned bus number 2
[42949374.020000] ohci-str9100 ohci-str9100: irq 23, io mem 0xfc400000
[42949374.090000] usb usb2: configuration #1 chosen from 1 choice
[42949374.100000] hub 2-0:1.0: USB hub found
[42949374.110000] hub 2-0:1.0: 2 ports detected
[42949374.130000] Initializing USB Mass Storage driver...
[42949374.140000] usbcore: registered new interface driver usb-storage
[42949374.150000] USB Mass Storage support registered.
[42949374.160000] usbcore: registered new interface driver libusual
[42949377.160000] usb 1-2: new high speed USB device using ehci-str9100 and address 2
[42949377.170000] Registered led device: str9100:green:generic
[42949377.180000] TCP cubic registered
[42949377.190000] NET: Registered protocol family 17
[42949377.210000] Waiting for root device /dev/sda1...
[42949377.440000] usb 1-2: configuration #1 chosen from 1 choice
[42949377.450000] scsi0 : SCSI emulation for USB Mass Storage devices
[42949382.470000] scsi 0:0:0:0: Direct-Access Generic USB SD Reader 0.00 PQ: 0 ANSI: 2
[42949382.490000] sd 0:0:0:0: [sda] 121856 512-byte hardware sectors: (62.3 MB/59.5 MiB)
[42949382.500000] sd 0:0:0:0: [sda] Write Protect is off
[42949382.510000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[42949382.530000] sd 0:0:0:0: [sda] 121856 512-byte hardware sectors: (62.3 MB/59.5 MiB)
[42949382.540000] sd 0:0:0:0: [sda] Write Protect is off
[42949382.550000] sd 0:0:0:0: [sda] Assuming drive cache: write through
[42949382.560000] sda: sda1
[42949382.580000] sd 0:0:0:0: [sda] Attached SCSI removable disk
[42949382.620000] kjournald starting. Commit interval 5 seconds
[42949382.630000] EXT3-fs: mounted filesystem with ordered data mode.
[42949382.640000] VFS: Mounted root (ext3 filesystem) readonly.
[42949382.650000] Freeing init memory: 100K
[42949382.670000] Please be patient, while OpenWrt loads ...
- preinit -
Press CTRL-C for failsafe
[42949384.540000] EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
[42949384.560000] EXT3 FS on sda1, internal journal
- init -
Please press Enter to activate this console.
BusyBox v1.13.4 (2009-08-04 12:51:25 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (bleeding edge, r17107) -------------------
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
---------------------------------------------------
http://www.bit-tech.net/hardware/storage/2008/04/29/emprex-nsd-100-p2p-download-engine/1
Kod platformy dla Kamikaze trunk
Wątek na forum Openlinksys.info
Szukaj Emprexa na Allegro!
Mając przylutowaną już konsole musimy wejść w booloader. W tym celu przytrzymujemy przycisk reset i załączamy zasilanie. Naszym oczom ukaże sie znak zachety
STR9100>
Wpisujemy
setenv bootcmd bootm 0x10020000 saveenv
Jednak zanim tego dokonamy, zalecam przepisanie gdzieś na bok domyślną wartość bootcmd. W tym celu wpisujemy
printenv
W moim przypadku było to:
bootcmd=go 0x10020000
Dyskusja