Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: mhi_ 25. 08. 2013, 15:39:25

Název: Linux místo Cisco IOS
Přispěvatel: mhi_ 25. 08. 2013, 15:39:25
Pro praci na jednom embedded projektu jsem potreboval mit Linux na PowerPC, na nejake embedded platforme co nejvice podobne MPC55x. Prvni po ruce byl Cisco router, napr. rady 800/1700/SB100 bezi prave na MPC860 - ten obsahuje MMU a teoreticky na nem muze bezet Linux.

Tedy muze bezet i prakticky: udelal jsem jednoduchy hack, ktery se sestaval z "doprogramovani" platformy mpc860 nedodelaneho projektu CILO, upravy kernelu 2.6 pro danou platformu a kompilace buildrootu. Linux minimalne na Ciscu SB101 nabootuje (ochutnavka  viz nize), byt v nem napr. jeste nefunguje ethernet phy.

Vzhledem k tomu, ze hardware routeru je velmi ruzny, nema smysl publikovat tento hack, ovsem pokud by se na mem stole sesla hromadka ruznych Cisco routeru, mohu z tohoto udelat publikovatelny projekt sestavajici se z prislusnych loaderu a zkompilovanych kernelu + rootfs. Pokud by tedy nekdo z ctenaru Rootu byl ochoten prispet tim, ze venuje nejake jiz nepouzivane cisco a soucasne se mi tech zarizeni sejde rozumny pocet (napric spektrem routeru), sestavim prislusne komponenty a dam je ke stazeni. Napsat mi muzete na martin (at) hinner (dot) info

Mimochodem, i v Catalystech je PowerPC, i kdyz "dospelejsi". Tady by asi taky slo neco delat, ovsem je otazka jak snadne to bude.


Nyni ukazka jak to bootuje na konzoli (cisco romon -> cilo -> kernel arch/powerpc/boot -> vmlinux -> buildroot(busybox) ). Linux je kupodivu velmi rychly (jestli jsem neco nezvoral, tak to Cisco je taktovane 50MHz, ale odezva je urcite lepsi nez by clovek cekal a treba s obdobne taktovanym x86 nebo m68k se to neda srovnat).

Kód: [Vybrat]
System Bootstrap, Version 12.2(11r)YV5, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 2006 by cisco Systems, Inc.
SB series (Board ID: 28-157) platform with 65536 Kbytes of main memory

rommon 1 > tftpdnld -r

          IP_ADDRESS: 192.168.1.240
      IP_SUBNET_MASK: 255.255.255.0
     DEFAULT_GATEWAY: 192.168.1.254
         TFTP_SERVER: 192.168.1.250
           TFTP_FILE: ciscoload.bin

Receiving ciscoload.bin from 192.168.1.250 !!!!!!!!!!!
File reception completed.
program load complete, entry point: 0x8300d084, size: 0x5ace
CILO
Available RAM: 32768 kB
MSR=0x00001002.
Available files:
sb101-k9oy6-mz.124-10a.bin
cilo-sb101.bin
uImage

Enter filename to boot:
> uImageBooting uImage.
Loading [ load 0x00800000/3736540 bss 0x00b903dc/51780 ] - total 3788320 bytes.
ELF loading complete, entry point = 0x008001ac, size: 3788320
Kicking into Linux.
tbdf/addr =  0xff003bf8
Memory <- <0x0 0x4000000> (64MB)
ENET0: local-mac-address <- de:ad:fa:ce:01:00
ENET1: local-mac-address <- de:ad:fa:ce:02:00
CPU clock-frequency <- 0x2faf080 (50MHz)
CPU timebase-frequency <- 0x2faf08 (3MHz)
CPU bus-frequency <- 0x2faf080 (50MHz)

zImage starting: loaded at 0x00800000 (sp: 0x81fffd90)
Allocating 0x480229 bytes for kernel ...
gunzipping (0x00000000 <- 0x0080d000:0x00b903dc)...done 0x372e60 bytes

Linux/PowerPC load: console=ttyCPM0 verbose
Finalizing device tree... flat tree at 0xb9d300
cisdbg test .. before kernel launch
vmlinux.addr =  0x0
iid mach(): done
MMU:enter
MMU:hw init
MMU:mapin
MMU:setio
MMU:exitnin start_kernel
Using Freescale MPC8xx machine description
Linux version 2.6.39 (mhi@mhi-eee) (gcc version 4.4.1 (GCC) ) #44 Sun Aug 25 14:48:17 CEST 2013
bootconsole [udbg0] enabled
setup_arch: bootmem
test1
mpc885ads_setup_arch 1
mpc885ads_setup_arch 2
mpc885ads_setup_arch 3
mpc885ads_setup_arch 4
mpc885ads_setup_arch 5
arch: exit
Top of RAM: 0x4000000, Total RAM: 0x4000000
Memory hole size: 0MB
Zone PFN ranges:
  DMA      0x00000000 -> 0x00004000
  Normal   empty
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00004000
On node 0 totalpages: 16384
free_area_init_node: node 0, pgdat c036d4b0, node_mem_map c0483000
  DMA zone: 128 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 16256 pages, LIFO batch:3
MMU: Allocated 72 bytes of context maps for 16 contexts
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: console=ttyCPM0 verbose
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 60220k/65536k available (3412k kernel code, 5316k reserved, 120k data, 1076k bss, 1368k init)
Kernel virtual memory layout:
  * 0xfffdf000..0xfffff000  : fixmap
  * 0xfde00000..0xfe000000  : consistent mem
  * 0xfddf8000..0xfde00000  : early ioremap
  * 0xc5000000..0xfddf8000  : vmalloc & ioremap
SLUB: Genslabs=14, HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:512
irq: irq 5 on host /soc@ff000000/interrupt-controller@0 mapped to virtual irq 16
irq: irq 0 on host /soc@ff000000/cpm@9c0/interrupt-controller@930 mapped to virtual irq 17
Decrementer Frequency = 0x2faf08
irq: irq 15 on host /soc@ff000000/interrupt-controller@0 mapped to virtual irq 18
time_init: decrementer frequency = 3.125000 MHz
time_init: processor frequency   = 50.000000 MHz
clocksource: timebase mult[50000000] shift[22] registered
clockevent: decrementer mult[cccccc] shift[32] cpu[0]
irq: irq 4 on host /soc@ff000000/cpm@9c0/interrupt-controller@930 mapped to virtual irq 19
console [ttyCPM0] enabled, bootconsole disabled
pid_max: default: 4096 minimum: 301
Mount-cache hash table entries: 512
NET: Registered protocol family 16
Registering qe_ic with sysfs...
bio: create slab <bio-0> at 0
Switching to clocksource timebase
Switched to NOHz mode on CPU #0
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
irq: irq 3 on host /soc@ff000000/interrupt-controller@0 mapped to virtual irq 20
irq: irq 0 on host /soc@ff000000/interrupt-controller@0 mapped to virtual irq 21
irq: irq 30 on host /soc@ff000000/cpm@9c0/interrupt-controller@930 mapped to virtual irq 30
msgmni has been set to 119
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
ff000a80.serial: ttyCPM0 at MMIO 0xc5010a80 (irq = 19) is a CPM UART
loop: module loaded
fs_enet ff000e00.ethernet: eth0: Features changed: 0x00004800 -> 0x00004000
eth0: fs_enet: de:ad:fa:ce:02:00
fs_enet ff000a00.ethernet: eth1: Features changed: 0x00004800 -> 0x00004000
eth1: fs_enet: de:ad:fa:ce:01:00
FEC MII Bus: probed
mdio_bus ff000e00: error probing PHY at address 1
mdio_bus ff000e00: error probing PHY at address 2
mousedev: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 17
Freeing unused kernel memory: 1368k init

[ .... smazan syslog ]

Welcome to cisco
buildroot login: root
Jan  1 05:06:46 buildroot auth.info login[40]: root login on 'ttyCPM0'
-sh: id: not found
sh: bad number
-sh: id: not found
$ uname -a
Linux buildroot 2.6.39 #44 Sun Aug 25 14:48:17 CEST 2013 ppc GNU/Linux
$  busybox free                         
             total         used         free       shared      buffers
Mem:         62608         3228        59380            0            0
-/+ buffers:               3228        59380
Swap:            0            0            0

Název: Re:Linux misto Cisco IOS (platforma PPC/mpc86x)
Přispěvatel: Mirek Prýmek 25. 08. 2013, 16:12:11
Hezkypěkně, klobouk dolů. Má to nějaké aspoň teoretické využití, nebo je to jenom because we can?

Asi bych mohl zařídit zapůjčení Cisco 2950, ale to afaik není powerpc. Navíc bych asi potřeboval nějakou záruku, že mi to vrátíš, a nenapadá mě jakou :)
Název: Re:Linux misto Cisco IOS (platforma PPC/mpc86x)
Přispěvatel: mhi_ 25. 08. 2013, 18:34:40
Pro mne to vyuziti ma uz nyni, proto jsem to delal (nebylo to zase tak moc prace, popravde receno jsem byl az prekvapen jak rychle to slo). Pro lidi by to vyuziti asi mohlo mit, protoze Cisco routery i switche maji obecne hezky hardware (Catalysty treba FPGAcka, ktera by predpokladam slo naplnit i vlastnim bitstreamem). Bastliri mohou misto flash modulu osadit nejaky GPIO modul, a na nej treba SD kartu. Alternativne ma spousta routeru WIC (PCMCIA). Treba ta SB101 by byla pekny 4+1 ethernet router, ktery vydrzi vecne.

Pokud jde nabidku dekuji, ale bohuzel takto to nepujde - prijmu jedine router/switch, ktery uz nebudu muset vracet (tzn. dar), duvody jsou dva, za prve pri reverse engineeringu nevim jestli prezije, a za druhe mel-li bych neco do budoucna maintainovat, je potreba ten HW mit u sebe.

Catalyst 29xx ma pokud vim PowerPC nebo MIPS dle typu.
Název: Re:Linux misto Cisco IOS (platforma PPC/mpc86x)
Přispěvatel: Covex 25. 08. 2013, 19:23:36
To je urcite zajimave, muzes zkusit napsat na tech at nfx cz ve freenetech by se dalo najit vyuziti i nejaka nepouzivana cisca. Jedine dlouhodobe reseni ale je, ze to bude soucasti normalniho kernelu. Nejlip jestli to mas pres DTS, jinak to je zbytecne prace.

Faktem ovsem je, ze neni moc duvod nepouzivat cisco jako router s iOSem a cpat tam linux zvlast, kdyz to podstatne z toho nefunguje a v momente kdy to budou FPGA tak to bude na pendrek uplne, protoze bude dalsi prace s bitstreamy. Jinak na PowerPC je zalozeno spousta telekomunikacnich MCU/CPU.
Název: Re:Linux misto Cisco IOS (platforma PPC/mpc86x)
Přispěvatel: Mirek Prýmek 25. 08. 2013, 19:30:19
Pro lidi by to vyuziti asi mohlo mit, protoze Cisco routery i switche maji obecne hezky hardware (Catalysty treba FPGAcka, ktera by predpokladam slo naplnit i vlastnim bitstreamem).
Myslel jsem to spíš tak, jestli by to někomu mohlo být vyloženě k něčemu stejně jako třeba openwrt.

prijmu jedine router/switch, ktery uz nebudu muset vracet (tzn. dar)
Aha, tak to jsem špatně pochopil, omlouvám se :)

Catalyst 29xx ma pokud vim PowerPC nebo MIPS dle typu.
Podle http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00801c1e9a.shtml#cat2950 to má stejně mips, takže nic...
Název: Re:Linux místo Cisco IOS
Přispěvatel: fahacz 25. 08. 2013, 20:24:51
Zitra se vam v praci juknu, myslim, ze jsem tam nejake starsi cisco routery videl.
Název: Re:Linux místo Cisco IOS
Přispěvatel: mhi_ 26. 08. 2013, 11:28:14
Covex: ano, je to dts, jinak to dneska u arch/powerpc snad ani nejde.

Mirek Prýmek: openwrt tam predpokladam spustit pujde, vyznam ale vidim spis v tom si udelat vlastni rootfs (buildroot).

fahacz: Dekuji.

Vzhledem k tomu, ze se nikdo doposud neozval (fahacz je tedy prvni kdo neco alespon obecne napsal), tak to vidim spis tak, ze kernel i loader skonci v supliku.
Název: OT: Re:Linux místo Cisco IOS
Přispěvatel: Ivan 26. 08. 2013, 11:41:50
Offtopic:
Kdysi neco podobnyho kamos zkousel. Mel nejaky vyrazeny Cisco transparent proxy servery z Cesnetu. Bohuzel tak HW architektura byla dost "divoka". Uz na adresnim rozsahu 0-4MB byly "diry", ktery se nesmely adresovat jinak to spadlo. Nakonec to vzdal, protoze to bylo extremne casove narocny.

Mozna ale "dnesni" Cisco boxy maji mnohem bliz k PC nez pred 10ti lety.

Název: Re:Linux misto Cisco IOS (platforma PPC/mpc86x)
Přispěvatel: Ales Hakl 26. 08. 2013, 15:31:49
Alternativne ma spousta routeru WIC (PCMCIA). Treba ta SB101 by byla pekny 4+1 ethernet router, ktery vydrzi vecne.

Je potreba si uvedomit, ze WIC ma s PCMCIA spolecny vicemene jenom konektor. To rozhrani jsou fakticky vytazene piny USARTu (takoveho kouzelnejsiho, pravda) toho (Power)QUICC procesoru a nejakych par ridicich dratu. Da se najit dokumentace od cisca, kde se tvrdi, ze je to PCMCIA, ale to je jedna velka kravina, staci se na ten HW podivat a podivat se jak se to zobrazuje v show controllers strcene do ruznych slotu (do routeru primo, do NM-2W, do jineho routeru...). (Pak se taky staci podivat co je fyzicky na treba takovem NM-2W, hint: PCMCIA bridge to neni)
Název: Re:Linux místo Cisco IOS
Přispěvatel: fahacz 26. 08. 2013, 16:12:17
Covex: ano, je to dts, jinak to dneska u arch/powerpc snad ani nejde.

Mirek Prýmek: openwrt tam predpokladam spustit pujde, vyznam ale vidim spis v tom si udelat vlastni rootfs (buildroot).

fahacz: Dekuji.

Vzhledem k tomu, ze se nikdo doposud neozval (fahacz je tedy prvni kdo neco alespon obecne napsal), tak to vidim spis tak, ze kernel i loader skonci v supliku.

Prosel jsem sklad a nesel 1 kousek C831(model: SERIES 800A), nevim jestli k v tom je potrebny cpu, router muzu komplet postradat, ale ma to hacek, nemam k nemu zdroj, ale myslim, ze by to slo vyresit, chce to 18V, jestli ho chcete je vas.
Hodte mi do emailu co a jak, mohu poslat i fotky, havel@tanet.cz.
Název: Re:Linux misto Cisco IOS (platforma PPC/mpc86x)
Přispěvatel: mhi_ 26. 08. 2013, 18:24:16
Alternativne ma spousta routeru WIC (PCMCIA).

Je potreba si uvedomit, ze WIC ma s PCMCIA spolecny vicemene jenom konektor. To rozhrani jsou fakticky vytazene piny USARTu (takoveho kouzelnejsiho, pravda) toho (Power)QUICC procesoru a nejakych par ridicich dratu. Da se najit dokumentace od cisca, kde se tvrdi, ze je to PCMCIA, ale to je jedna velka kravina, staci se na ten HW podivat a podivat se jak se to zobrazuje v show controllers strcene do ruznych slotu (do routeru primo, do NM-2W, do jineho routeru...). (Pak se taky staci podivat co je fyzicky na treba takovem NM-2W, hint: PCMCIA bridge to neni)

To PCMCIA jsem vzal od cloveka, ktery delal MIPSacky port Linuxu na Cisco, popravde sam se sice pohybuju v IT, ale uz delsi dobu spis nesitove veci, takze po tech cca 8mi letech kdy jsem naposledy resil nejake Cisco si to uz nepamatuju (a tehdy jsem zase nedelal hardware, takze QUICC mi nic nerikalo). Pri pohledu na mou jedinou WIC-1T jsem si rikal, ze mozna tu PCMCIA delaji v tech dvou CPLD co tam jsou (v opacnem pripade nechapu proc je ta WIC-1T tak slozita).

Logiku by to ale melo - pripojit WIC sloty na prislusne "seriaky" (on u MPC860 je SCC s rezimem "ethernet 10T", coz uz jasne rika ze to neni uplne tupy UART). Predpokladam, ze seriova EEPROM na WICu rekne co je zac a IOS podle toho prislusne SCC nakonfiguruje. Jestli k tomu mate nejake blizsi informace (treba pinout toho konektoru), rad se priucim.

Potom by davalo logiku sestavit devicetree primo v bootloaderu na zaklade toho cim je cisco osazene a nemit fixni DTB.
Název: Re:Linux místo Cisco IOS
Přispěvatel: lazna 26. 08. 2013, 21:35:56
Mohu darovat 2960 bez škatule. Nevešlo se nám to tehdy do příliš mělké skříně na střeše, tak jsme to odstrojili a škatuli asi vyhodili :-) Pár portů sice odešlo statikou při bouřkách, ale switch sám o sobě je OK.   lazna (at) volny (dot) cz
Název: Re:Linux misto Cisco IOS (platforma PPC/mpc86x)
Přispěvatel: Ales Hakl 26. 08. 2013, 22:15:46
Alternativne ma spousta routeru WIC (PCMCIA).

Je potreba si uvedomit, ze WIC ma s PCMCIA spolecny vicemene jenom konektor. To rozhrani jsou fakticky vytazene piny USARTu (takoveho kouzelnejsiho, pravda) toho (Power)QUICC procesoru a nejakych par ridicich dratu. Da se najit dokumentace od cisca, kde se tvrdi, ze je to PCMCIA, ale to je jedna velka kravina, staci se na ten HW podivat a podivat se jak se to zobrazuje v show controllers strcene do ruznych slotu (do routeru primo, do NM-2W, do jineho routeru...). (Pak se taky staci podivat co je fyzicky na treba takovem NM-2W, hint: PCMCIA bridge to neni)

To PCMCIA jsem vzal od cloveka, ktery delal MIPSacky port Linuxu na Cisco, popravde sam se sice pohybuju v IT, ale uz delsi dobu spis nesitove veci, takze po tech cca 8mi letech kdy jsem naposledy resil nejake Cisco si to uz nepamatuju (a tehdy jsem zase nedelal hardware, takze QUICC mi nic nerikalo). Pri pohledu na mou jedinou WIC-1T jsem si rikal, ze mozna tu PCMCIA delaji v tech dvou CPLD co tam jsou (v opacnem pripade nechapu proc je ta WIC-1T tak slozita).

Logiku by to ale melo - pripojit WIC sloty na prislusne "seriaky" (on u MPC860 je SCC s rezimem "ethernet 10T", coz uz jasne rika ze to neni uplne tupy UART). Predpokladam, ze seriova EEPROM na WICu rekne co je zac a IOS podle toho prislusne SCC nakonfiguruje. Jestli k tomu mate nejake blizsi informace (treba pinout toho konektoru), rad se priucim.

Potom by davalo logiku sestavit devicetree primo v bootloaderu na zaklade toho cim je cisco osazene a nemit fixni DTB.

Pinou toho konektoru bohuzel nemam, ale docela by me zajimal. Treba se nekdy budu nudit a zkusim to z nejakeho HW nejak vyreverzovat. Co delaji ty CPLD mi taky trochu unika, nicmene nekde se mi vali starsi verze WIC-1T, kde to nejsou dve CPLD ale dva ASICy (ve stejnych pouzdrech jako ty dve Altera CPLD), takze bych tak odhadoval, ze nedelaji nic moc svetoborneho a je v nich z vetsi casti ta chytrost prepinani datove cesty mezi tim konektorem a transceivery (coz je sice troska logiky, ale rekl bych, ze z diskretni logiky to bude pomerne velke a navic v dobe kdy to bylo navrzeno bylo vyrobit takovyhle ASIC asi srovnatelne drahe jako postavit neco takoveho z diskretni logiky na tech ~5MHz na kterych to bezi). A kdyz jsem videl WIC-1T poprve tak jsem si naopak rikal, ze jestli je to opravdu PCMCIA, tak jsou ty CPLD moc mala (nejak zbastleny UART by se tam nejak nacpat asi mohl, ale na E1/T1 prijimac bych to moc nevidel).

Kdyz jsem naposledy s c1700 delal nejake HW pekla (z vetsi casti spocivajici v prepisovani ruznych hw-id EEPROM) tak jsem jako referenci pouzival zdrojaky dynamipsu, coz je sice puvodne emulator c7200 ale umi i tyhle zalozene na PowerQUICCu (a skoro bych rekl, ze lepe nez tu c7200). Skoda je, ze to neumi emulovat nejake slozitejsi WICy jako WIC-4ESW nebo cokoli *DSL, kde to zda se to rozhrani pouziva nejak trochu sloziteji (minimalne na spouste takovych WICu jsou u toho PCMCIA konektoru takove zvlastni svaby od IDT na ktere google nic nerika, ale podle zapojeni to budou nejake transceivery).

Jinak EEPROM mu rekne co je to zac a podle toho se nakonfiguruje SCC a pripadne nejake multiplexory je podle me pomerne presny popis toho jak to funguje. Dokonce se obsah tech EEPROM na c1700 da zobrazit skoro-dokumentovanym "show diag". Jinak zajimave je, ze treba WIC-1T umi ruzne veci podle toho do ceho se strci (protoze je to tupy transceiver a aby byly podporovany asynchronni rezimy, musi to umet to k cemu je to pripojene, cemuz vyhovuje SCC, ale ne svab od hitachi, ktery pouzivaji jinde a protoze v c2600 jsou nektere sloty pripojene k SCC a nektere ke svabu bokem, tak je nejednodussi rict, ze to proste neni podporovano).

A cele je to pak komplikovane tim, ze cisco vyrabi spoustu veci ktere opravdu PCMCIA nekde maji (typicky na flash kartu). Dokonce se da najit obrazek, kde tvrdi, ze to rozhrani WICu je fakt PCMCIA, pak se da taky najit obrazek, kde je od slotu na WIC primo cara k obdelnicku "SCC". A pak samozrejme schopnost cisca pouzivat na nahodne veci nahodny konektor (a vzdy pokud mozno uplne divny) a pripadne vyuzit stejny konektor na vic aplikaci zaroven (bez vetsiho premysleni me napadaji tri ruzne veci na ktere cisco pouziva 68 pinovy VHDCI konektor a ani jedna z nich neni SCSI) je asi legendarni.

Zkusim zjistit, kolik ruznych variant 17xx sesbiranych za nejakym takovym obdobnym ucelem se mi tu vali a kdyztak muzu nejake duplicitni poskytnout.
Název: Re:Linux misto Cisco IOS (platforma PPC/mpc86x)
Přispěvatel: mhi_ 27. 08. 2013, 14:26:56
Jinak zajimave je, ze treba WIC-1T umi ruzne veci podle toho do ceho se strci (protoze je to tupy transceiver a aby byly podporovany asynchronni rezimy, musi to umet to k cemu je to pripojene, cemuz vyhovuje SCC, ale ne svab od hitachi, ktery pouzivaji jinde a protoze v c2600 jsou nektere sloty pripojene k SCC a nektere ke svabu bokem, tak je nejednodussi rict, ze to proste neni podporovano).

Koukal jsem na ten NM-2W (resp. jenom na obrazek-modul nemam) a tam je nejaky seriovy IC od Infineonu a vaze se k tomu nejaka poznamka co vsechno ten NM-2W neumi (krome toho tam je ale i Spartan do ktereho by se myslim v pohode vesla spousta veci co ten Infineon proti QUICC/SCC neumi). Takze by to docela odpovidalo. Kazdopadne C17xx tu mam jedno (co jsem mel uz driv), ale nechodi mu WIC slot(y) a ostatnich routeru jsem se v minulosti zbavil, takze ani tu WIC-1T neni kam strcit.

Rada 26xx a 17xx by se vyznamne hodily. Minimalne ty routery co maji hodne slotu by jasne rekly diky externim UARTum kam je co v tom PCMCIA konektoru zapojene (BGAckovy PowerQUICC to trosku komplikuje).
Název: Re:Linux místo Cisco IOS
Přispěvatel: mhi_ 30. 08. 2013, 00:28:22
Chtel bych podekovat vsem, kteri poskytli nejaky hardware (ty nabidky, ktere se jeste nejsou ani na ceste, nezapomente na mne prosim).

Moc se toho sice dohromady nedalo, ale zda se, ze pro radu 800 (+SBxxx/SOHOxx ktere jsou od C800 odvozena) bude mozne udelat smysluplny vysledek tak, aby to vetsine lidi fungovalo. Tedy tak ucinim jakmile mi muj cas dovoli.

Pokud jde o otazky "k cemu to je", bych sdelil nasledujici: nahrazovat Linuxem IOS za ucelem routovani asi nema smysl. Smysl to ale ma, pokud na ten router chcete funkci, kterou IOS nema, nebo mate router (typicky nejaky *DSL), ktery uz nema co routovat a sel by tak do kose: z nej se da udelat rekl bych relativne nesmrtelny embedded box (HW Cisca neni vubec spatny ve srovnani s ruznymi China-made WIFI AP ci SOHO routery, vsak si to ale take nechaji zaplatit).
Název: Re:Linux místo Cisco IOS
Přispěvatel: Withy14 30. 08. 2013, 10:28:42
Ahoj, pěkná práce. Mohl bys mi (čistě z teoretického hlediska) říct, zda by to samé šlo udělat na Linksys NASech (donedávna to patřilo ještě Ciscu), respektive tam je asi nějaký silně upravený linux, nikoliv IOS (o tom nevím, zda by se do NASu vůbec hodil). Jde mi o to, že jejich NASy sou neuvěřitelně pomalé, nevim, co tam může být uzkým hrdlem - síťovky to má dvě gigabitové schopné load-balancingu a failoveru, umí to RAID 10 i 5, dokonce sem se dostal na roota, ale podařilo se mi odstranit jen softwarová omezení týkající se počtu uživatelů SAMby a FTPka, rychlost tam byla omezená taky, ale tu se mi podařilo navýšit tak o nějakých 5-10%, což není nijak závratné (možná statistická chyba) - čtení/zápis na těchto NASech je kolem 1-3MB.
Název: Re:Linux místo Cisco IOS
Přispěvatel: Mirek Prýmek 30. 08. 2013, 11:21:20
čtení/zápis na těchto NASech je kolem 1-3MB.
To je teda hodně málo přes gigabit... Mělo by to jet minimálně na 30MBps.
Název: Re:Linux místo Cisco IOS
Přispěvatel: NAS 30. 08. 2013, 11:47:40
čtení/zápis na těchto NASech je kolem 1-3MB.
To je teda hodně málo přes gigabit... Mělo by to jet minimálně na 30MBps.

Síťovka je jen jeden kousek HW, pokud je zbytek slabý tak to ta síťovka nezrychlí. Levné NASy mají obvykle hodně slabé CPU, než jsem já kupoval NAS tak jsem udělal důkladný průzkum trhu a pokud někomu jde o výkonnost tak ani nic jiného nezbývá...
Název: Re:Linux místo Cisco IOS
Přispěvatel: Kolemjdoucí 30. 08. 2013, 12:06:12
čtení/zápis na těchto NASech je kolem 1-3MB.

Zbytečné se tím zabývat, nestíhá to hardwarově. Gigabit Ethernet znamená cca 50k paketů za sekundu a to není sranda.
Název: Re:Linux místo Cisco IOS
Přispěvatel: Withy14 30. 08. 2013, 14:36:07
Dík za opdověď, bohužel sem nebyl u toho, když se tenhle krám kupoval (a ti co o tom rozhodovali, se rozhodovali asi na základě hodu kostkou nebo co já vím). Mám za to, že tady bude úzkým hrdlem procesor a možná za to může i ten systém v tom (protože při single zápisu to jelo relativně rychle - to ty 3MBps, ale pro 2 a více to spadlo na ten 1MBps), bohužel to ani neobsahuje complier, takže sem mi tam nepodařilo dostat ani jednu aplikaci (omlouvám se, pokud se špatně vyjádřuji, v teorii programování se nevyznám, sem spíše praktik), je tam jen snad vi (wget sem tam teda dostal, ale toť vše, ten snad nemá tak složité závislosti).
Název: Re:Linux místo Cisco IOS
Přispěvatel: mhi_ 02. 09. 2013, 10:59:51
Jde mi o to, že jejich NASy sou neuvěřitelně pomalé, nevim, co tam může být uzkým hrdlem - síťovky to má dvě gigabitové schopné load-balancingu

Jak jiz psali ostatni, uzkym hrdlem je ten SoC, resp. predpokladam SW v nem. Cisco IOS je staveny tak, aby i na pomalem CPU/MCU chodilo vse jak ma, protoze se maximalne vyuziva DMA. IOS bezne routuje packety bez toho aby CPU nekdy videlo vubec data a cachuje si vysledky lookupu v routovaci tabulce, takze i kdyz je taktovan treba na 100 MHz, dosahuje velmi slusnych rychlosti.

Preneseno do reci toho NASu, k jeho zrychleni by bylo potreba odstranit prave (zrejme) Linux a dat misto nej neco noveho, co by umelo nacist data z disku a sekvencne pred ne strcit vzdy prislusne hlavicky (ethernet + IP + TCP + CIFS/NFS) a postupne odesilat (tzn. o data by se CPU vubec nezajimalo!). Aby slo cachovat, tak by to chtelo Ethernet, ktery umi slozit ramec ze dvou bloku ctenych pres DMA (oddelene pro hlavicky + data), aby si OS neprepisoval nactena data z disku a mohl je pouzit rovnou do cache. Potom by to bylo ultrarychle.

Dodam jeste, ze Linksys nema s Ciscem hardwarove nic moc spolecneho, takze muj hack by samozrejme nefungoval.
Název: Re:Linux místo Cisco IOS
Přispěvatel: mhi_ 27. 11. 2013, 01:18:11
Mel bych na zdejsi komunitu otazku, po delsi dobe jsem se dnes vecer opet venoval Linux na Cisco routerech a zjistil jsem, ze dva temer identicke routery obsahuji zrejme jinak naprogramovane CPLD, a logicky i jiny startup code (resp. rommon). Muj loader na jednom fungoval naprosto perfektne, na druhem padal.

Tento konkretni problem jsem tedy vyresil, ale je zjevne, ze neni hodne jen verzi hardware, ale i ruzne upravy logiky. Tyto problemy by asi vyresilo, kdybych mel prislusne startup blocky. Cisco k nim melo drive update, ale vzhledem k tomu, ze operuji se starymi routery, tyto jsou jiz dale nepodporovane. Nemate nekdo tuseni, zda se obsahy poslednich rommonu pro ruzny HW daji nekde sehnat?

Take mi je zahadou jak presne funguji ta CPLD v jednotlivych routerech (resp. ASICy v Catalystech). Je zjevne, ze tam je jisty rezim "kompatibility", kdy rommon (a nasledn IOS) zjisti na jakem HW bezi a podle toho se k nemu chova ruzne.

Vice informaci viz prvni post tohoto threadu http://forum.root.cz/index.php?topic=7178.0