Předělání switche na 10Mbit-FD: Porovnání verzí

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání
Řádek 1: Řádek 1:
 
==Obecně==
 
==Obecně==
2 způsoby jak nastavit Navod, kterak si nastavit a nakonfigurovat vlastní FTP server od Serv-U - windows
+
2 způsoby jak nastavit port na 10Mbit-FD u switche. Využitelné např. pro připojeni ronji.
V siti HKfree se mimo jine sdili mnozstvi uzitecnych dat, které je potřeba sdílet jiným uživatelům a nabídnout jim tato data ke stažení. Výhody uploadu na společný Share server (charon) jsou v tom, že trafic od vás je jen jednou. Ovšem, pokud chcete nabídnout touto cestou vše, co máte, musíte zaplácat místo na share. A ten není nafukovací. Proto se také v sítích rozšiřuje tvorba vlastních FTP serverů. Jeden z oblýbených Serv-U bych zde popsal, jak jej nastavit a nakonfigurovat.
+
* 1. způsob - Spojení nožiček čipu byl převzat z fóra CZF a news HKF (funguje jen s chipem RTL8305SB nebo SC)
Proč jsem zvolil Serv-U? protože jej znám, přijde mi velice jednoduchžý na konfiguraci a pro základ je zdarma.
+
* 2. způsob - Přeprogramovani čipu pomocí externí EEPROM (mel by fungovat i s jiným chipem = i vetší než 5-port switch)
 +
 
  
 
==1. způsob - Spojení nožiček čipu==
 
==1. způsob - Spojení nožiček čipu==
 
* pouze s chipem RTL8305SB (SC)  
 
* pouze s chipem RTL8305SB (SC)  
default je 1, 0 je slus na zem
+
* datasheet [http://www.realtek.com.tw/downloads/downloads1-3.aspx?spec=True&compamodel=RTL8305SB RTL8305SB] a [http://www.realtek.com.tw/downloads/downloads1-3.aspx?spec=True&compamodel=RTL8305SC RTL8305SC]
 +
* default je 1, 0 je slus na zem
 +
 
  
 
pin 95: 1 - skupina x - port 0
 
pin 95: 1 - skupina x - port 0
 +
 
skupina y - port 1, 2 a 3
 
skupina y - port 1, 2 a 3
 +
 
0 - skupina x - port 0 a 1
 
0 - skupina x - port 0 a 1
 +
 
skupina y - port 2 a 3
 
skupina y - port 2 a 3
 +
  
 
port0 je na 3, 4, 127, 128 (u rozku s klicem)
 
port0 je na 3, 4, 127, 128 (u rozku s klicem)
Řádek 22: Řádek 29:
  
 
port4 je na 31, 32, 35, 36 (port4 je spesl, mel by zustat auto)
 
port4 je na 31, 32, 35, 36 (port4 je spesl, mel by zustat auto)
 +
  
 
pin 104: 1 - enable auto-negotiation skupiny x
 
pin 104: 1 - enable auto-negotiation skupiny x
Řádek 42: Řádek 50:
  
  
 +
* Když nohy 104,105,107,108 vyzkratujete na zem, tak bude mít switch jeden 100mbit port a 4x 10M/FDX porty.
 +
 +
* Pozor na vedlejší efekt, budou svítit neustále diody.
  
 
==2. způsob - Přeprogramovani čipu pomocí externí EEPROM==
 
==2. způsob - Přeprogramovani čipu pomocí externí EEPROM==
 +
Obvod se může také kofigurovat pomocí externí EEPROMky nebo pomocí SMI zběrnice. Možnosti nastavování EEPROMky jsou omezené a to, co bylo potřeba nastavit, EEPROMkou nešlo. Zbývalo zkusit konfigurovat obvod pomocí SMI sběrnice. Tuto sběrnici mají i více portové switche a ty lze také tímto způsobem konfigurovat. To znamená, že i u osmi portového switche lze předělat do reřimu 10MB-FD libovolný počet portů.
 +
Po SMI sběrnici se mohou data z obvodu číst nebo zapisovat. Jestli se bude zapisovat nebo číst se rozliší v úvodu vysílaných dat. Taky se zde musí uvést číslo banky registrů - PHY0-PHY5 a číslo registru 0 - 31, se kterým se bude pracovat.
 +
Aby se upravil PORT4 na 10Base FD musí se v
 +
bance registrů 4  - PHY4
 +
v registru 0 - str53 vypnout autonegotiation - znulovat 12tý bit, povolit 10MB - znulovat 13tý bit a zapnout full duplex - nastavit 8 bit.
 +
V registru 4 - str55 povolit pouze 10Base FD znulovat 5,7,8 bit a nastavit 6 bit
 +
Bylo by dobré neměnit ostatní bity, proto se nejprave data z IO přečtou, pozmění a pak zpátky zapíší.
 +
V katalogovém listu IO na straně 119 je uvedeno uspořádání posílaných dat. Prvních 32 taktů jsou 1. poslání adresy registru 0 by se dalo binárně zapsat:
 +
          CH          CL
 +
pro čtení 01100010 00000010
 +
pro zápis 01010010 00000010
 +
              - 4  -- 0  -
 +
dalších 16 taktů se posílají data.
 +
Nejjednodušší způsob, jak data poslat do IO, je pomocí naprogramovaného procesoru. Já jsem se zabýval programováním procesorů ATMEL AVR, proto jsem vytvořil program pro zápis dat i čtení pro procesor této řady. Svým vybavením plně vyhovuje procesor ATtiny12L, ale může se použít skoro jakýkoliv. Procesor se vyrábí v provedení SMD a je možné ho přiletovat místo EEPROMky, se kterou je počítáno, ale nebývá osazena. Pro připojení procesoru jsou nutné 4 vývody – z toho 2 jsou napájení a 2 pro přenos dat.
 +
Program procesoru je napsaný v assembleru. Pro čtení a zápis jsou vytvořeny 2 funkce – nacti a uloz. Funkce delay je pouze určité zpoždění mezi jednotlivými operacemi. Původně to sloužilo ke zpožděné konfiguraci po připojení napájení, ale v programu je tato funkce provedena mezi jednotlivými operacemi. Práce s funkcemi je velmi jednoduchá. Před vykonáním funkce se musí nejprve zapsat adresa do registrů CL, CH  a poté vykonat funkce. Adresa CL a CH nemusí obsahovat informaci o tom, jestli se zapíší data nebo se budou číst. Funkce zapíší sekvence pro čtení a zápis. Nejvyšší 4 bity CH jsou ignorovány.
 +
Po přečtení dat z IO se musí provést nastavení. Vynulování bitů se provede instrukcí CBR podle masky a nastavení bitů se provede instrukcí SBR podle masky. Doufám, že funkce těchto dvou instrukcí jsou dostatečně zřejmé ze samotného programu.
 +
Po zápisu posledního byte do registrů program skočí do nekonečné smyčky.
 +
Poslední část programu nazvaná kontrola se v běžném režimu nepoužívá. Slouží pro kontrolu zapsaných dat do IO. Na nevyužitých dvou vývodech se začne periodicky vysílat sériově přečtená data. Na dvoukanálovém osciloskopu se pak může na tyto data podívat.

Verze z 29. 5. 2006, 09:51

Obecně

2 způsoby jak nastavit port na 10Mbit-FD u switche. Využitelné např. pro připojeni ronji.

  • 1. způsob - Spojení nožiček čipu byl převzat z fóra CZF a news HKF (funguje jen s chipem RTL8305SB nebo SC)
  • 2. způsob - Přeprogramovani čipu pomocí externí EEPROM (mel by fungovat i s jiným chipem = i vetší než 5-port switch)


1. způsob - Spojení nožiček čipu

  • pouze s chipem RTL8305SB (SC)
  • datasheet RTL8305SB a RTL8305SC
  • default je 1, 0 je slus na zem


pin 95: 1 - skupina x - port 0

skupina y - port 1, 2 a 3

0 - skupina x - port 0 a 1

skupina y - port 2 a 3


port0 je na 3, 4, 127, 128 (u rozku s klicem)

port1 je na 7, 8, 11, 12

port2 je na 15, 16, 19, 20

port3 je na 23, 24, 27, 28

port4 je na 31, 32, 35, 36 (port4 je spesl, mel by zustat auto)


pin 104: 1 - enable auto-negotiation skupiny x 0 - disable

pin 105: 1 - enable auto-negotiation skupiny y 0 - disable

pin 107: 1 - enable 100Mbps skupiny x 0 - disable

pin 108: 1 - enable 100Mbps skupiny y 0 - disable

pin 109: 1 - enable FullDuplex skupiny x 0 - disable

pin 110: 1 - enable FullDuplex skupiny y 0 - disable


  • Když nohy 104,105,107,108 vyzkratujete na zem, tak bude mít switch jeden 100mbit port a 4x 10M/FDX porty.
  • Pozor na vedlejší efekt, budou svítit neustále diody.

2. způsob - Přeprogramovani čipu pomocí externí EEPROM

Obvod se může také kofigurovat pomocí externí EEPROMky nebo pomocí SMI zběrnice. Možnosti nastavování EEPROMky jsou omezené a to, co bylo potřeba nastavit, EEPROMkou nešlo. Zbývalo zkusit konfigurovat obvod pomocí SMI sběrnice. Tuto sběrnici mají i více portové switche a ty lze také tímto způsobem konfigurovat. To znamená, že i u osmi portového switche lze předělat do reřimu 10MB-FD libovolný počet portů. Po SMI sběrnici se mohou data z obvodu číst nebo zapisovat. Jestli se bude zapisovat nebo číst se rozliší v úvodu vysílaných dat. Taky se zde musí uvést číslo banky registrů - PHY0-PHY5 a číslo registru 0 - 31, se kterým se bude pracovat. Aby se upravil PORT4 na 10Base FD musí se v bance registrů 4 - PHY4 v registru 0 - str53 vypnout autonegotiation - znulovat 12tý bit, povolit 10MB - znulovat 13tý bit a zapnout full duplex - nastavit 8 bit. V registru 4 - str55 povolit pouze 10Base FD znulovat 5,7,8 bit a nastavit 6 bit Bylo by dobré neměnit ostatní bity, proto se nejprave data z IO přečtou, pozmění a pak zpátky zapíší. V katalogovém listu IO na straně 119 je uvedeno uspořádání posílaných dat. Prvních 32 taktů jsou 1. poslání adresy registru 0 by se dalo binárně zapsat:

          CH           CL

pro čtení 01100010 00000010 pro zápis 01010010 00000010

             - 4  -- 0  -

dalších 16 taktů se posílají data. Nejjednodušší způsob, jak data poslat do IO, je pomocí naprogramovaného procesoru. Já jsem se zabýval programováním procesorů ATMEL AVR, proto jsem vytvořil program pro zápis dat i čtení pro procesor této řady. Svým vybavením plně vyhovuje procesor ATtiny12L, ale může se použít skoro jakýkoliv. Procesor se vyrábí v provedení SMD a je možné ho přiletovat místo EEPROMky, se kterou je počítáno, ale nebývá osazena. Pro připojení procesoru jsou nutné 4 vývody – z toho 2 jsou napájení a 2 pro přenos dat. Program procesoru je napsaný v assembleru. Pro čtení a zápis jsou vytvořeny 2 funkce – nacti a uloz. Funkce delay je pouze určité zpoždění mezi jednotlivými operacemi. Původně to sloužilo ke zpožděné konfiguraci po připojení napájení, ale v programu je tato funkce provedena mezi jednotlivými operacemi. Práce s funkcemi je velmi jednoduchá. Před vykonáním funkce se musí nejprve zapsat adresa do registrů CL, CH a poté vykonat funkce. Adresa CL a CH nemusí obsahovat informaci o tom, jestli se zapíší data nebo se budou číst. Funkce zapíší sekvence pro čtení a zápis. Nejvyšší 4 bity CH jsou ignorovány. Po přečtení dat z IO se musí provést nastavení. Vynulování bitů se provede instrukcí CBR podle masky a nastavení bitů se provede instrukcí SBR podle masky. Doufám, že funkce těchto dvou instrukcí jsou dostatečně zřejmé ze samotného programu. Po zápisu posledního byte do registrů program skočí do nekonečné smyčky. Poslední část programu nazvaná kontrola se v běžném režimu nepoužívá. Slouží pro kontrolu zapsaných dat do IO. Na nevyužitých dvou vývodech se začne periodicky vysílat sériově přečtená data. Na dvoukanálovém osciloskopu se pak může na tyto data podívat.