Aluksi qcamin toimintaan saattaminen Linux-ympäristössä. ************************************************************ cqcam-0.40+fix -paketin kääntö Linuxissa: * Varmista, että koneen rinnakkaisportti on EPP-moodissa (HP:ssa Bidirectional toimii ok) * varmistu, että tuki rinnakkaisportille on mukana kernelissä * pura paketti cqcam-0.40+fix * LUE OHJEET (README ja INSTALL) * make; make install (roottina ajettuna) * xcqcam on sopiva testiohjelma qcamin toimivuuden testaamiselle VIC ************************************************************ Pakettin vic-2.8-cqcam.tar.gz kääntäminen Linuxissa (iines / roope) * aja configure seuraavasti ./configure --with-tcl=/usr --with-tk=/usr --with-cqcam=cqcam-polku Seuvaassa koottu ongelmia käännöksen yhteydestä. Selitykset on ongelma/ratkaisu-muodossa. * Muutokset Makefileen *** Ongelma: käännöksessä valittaa seuraavaa: grabber-cqcam.cc:64: ../cqcam/camera.h: No such file or directory grabber-cqcam.cc:65: ../cqcam/imager.h: No such file or directory Ratkaisu: Muunna include-polku oikeaksi ko. tiedostossa. *** Ongelma: käännöksessä valittaa seuraavaa: /usr/lib/libc.a(strtol.o): In function `strtol': strtol.o(.text+0x3d4): multiple definition of `strtol' strtol.o(.text+0x0): first defined here ld: Warning: size of symbol `strtol' changed from 103 to 26 in strtol.o /usr/lib/libc.a(strtoul.o): In function `strtoul': strtoul.o(.text+0x3a8): multiple definition of `strtoul' strtoul.o(.text+0x0): first defined here ld: Warning: size of symbol `strtoul' changed from 348 to 26 in strtoul.o Ratkaisu: muunna Makefilestä BROKEN_OBJ = strtol.o strtoul.o --> BROKEN_OBJ = *** Ongelma: /usr/lib/libtcl7.6.so: undefined reference to `dlerror' /usr/lib/libtcl7.6.so: undefined reference to `dlopen' /usr/lib/libtcl7.6.so: undefined reference to `dlsym' make: *** [vic] Error 1 Ratkaisu: lisää Makefileen riville LIB seuraava kirjasto LIB = ... /usr/lib/libdl.so ... *** Ongelma: Vic on käänetty ja ajettaessa tapahtuu seuraava # ./vic sh: vic: command not found Ratkaisu: Varmista Makefilesta, että STATIC = eikä, STATIC = -static Huomio: Joskus configure tuntuu saavan päähänsä tuon -static -option lisäyksen. Liittyisikö jotenkin dynaamisten kirjastojen paikantamiseen?? No nyt vicin pitäisi toimia IP:n yli qcamin kanssa. Testaus seuraavasti välillä roope - iines: roope: > vic 192.168.2.4/5600 iines: > vic 192.168.2.6/5600 ATM:n lisääminen viciin: Muutoksia lähdekoodiin: cf-network.tcl: Seuraavat arvot muutettava dataSAP 4092 ja ctrpSAP 4090. Toimivuus testattu arvoilla dataSAP 60 ja ctrlSAP 59. Kopioi CVS:ssä olevasta src/testing/vic-2.8-hakemistosta vat_net-atm.cc ja vat_net-atms.cc nykyiseen vic-hakemistoon ja tee seuraavat lisäykset objekteiksi Makefileen: OBJNETC = vat_net-atm.o OBJNETS = vat_net-atms.o vat_net-atm.cc - clientin atm-osuus vat_net-atms.cc - serverin atm-osuus Varsin pienet erot yo. fileissa, mutta kuitenkin jotain on. Niitä on muunnettu alkup. vicin Foren kortin päällä toimivista ATM-toteutuksesta tukemaan TOVE-alustan käyttämää ENIn korttia. Toinen yo. fileista käyttää text2atm()-funktiota, jolloin seuraava on tarpeellinen Makefilessa (text2atm:n saa esim. vattia käännettäessä): OBJ2 = main.o net.o text2atm.o net-ip.o source.o \ ^ ^ ^ ^ <--- text2atm.o lisäys Makefile: lisää clientti ja serveri targeteiksi (sama kuin vic, mutta $(OBJNETC) lisää) viccl: $(OBJ) $(OBJ_GRABBER) $(JV_LIB) $(OBJNETC) rm -f $@ $(C++) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(OBJNETC) $(OBJ_GRABBER) $(LIB) $(STATIC) (sama kuin vic, mutta $(OBJNETS) lisää) vicsv: $(OBJ) $(OBJ_GRABBER) $(JV_LIB) $(OBJNETS) rm -f $@ $(C++) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(OBJNETS) $(OBJ_GRABBER) $(LIB) $(STATIC) Ohjeet ajamiseksi (testattu 8.12.1998 LPR:ssä ja toimi) Vic nyt siis ATM:n päällä. Mikki <-> FSR <-> Hupu Toimii roottina ja src/testing/sw/swtest-binäärin kanssa. (mikki) /usr/local/sbin hakemistosta käynnistetään seuraavat: ./atmaddr -a 47.0005.80FFE1000000F20F4A15.0020EA003D62.02 ./atmsigd 0.0.50 ATM-osoitteena on mikin tcm-kuitu. src/testing/vic-2.8-cqcam hakemistossa käynnistetään: ./viccl -n atm 47.0005.80FFE1000000F20F4A15.0020EA002AEF.03 ATM-osoitteena on hupun kuitu-atm. (hupu) /usr/local/sbin hakemistosta käynnistetään seuraavat: ./atmaddr -a 47.0005.80FFE1000000F20F4A15.0020EA002AEF.03 ./atmsigd 0.0.50 ATM-osoitteena on hupun kuitu. src/testing/vic-2.8-cqcam hakemistossa käynnistetään: ./vicsv -n atm 47.0005.80FFE1000000F20F4A15.0020EA003D62.02 ATM-osoitteena mikin kuitu, *JOSKAAN* sillä ei ole mitään merkitystä!!! Nyt pitäisi toimia. Ohjelman lopetuksessa on sellainen pieni bugi, että quit-näppäimen painon jälkeen atmsigd on lopetettava ennenkuin vic loppuu kunnolla. Ei ole jäljitetty vielä yhtään syytä. *** Nyt on eli kunhan clientin sammuttaa ennen serveriä, niin lopetus toimii ok. BUGI näytön kokoa vaihdettaessa normal --> small ja takaisin heti perään vic kaatuu. -B optio näyttäisi antavan mahdollisuuden lisätä maksimisiirtonopeutta, joten kannatanee käyttää, jos atm:n kanssa se on defaulttina 10 kbps.