Usb-massamuistilaitteet (USB mass storage devices) näkyvät OS/2:ssa levyasemina kuten mikä tahansa muukin levyasema mutta ne eivät kuitenkaan toimi 'perus-Warpissa' ilman päivityksiä.
Ensiksi tarvitaan Netlabsin uusimmat FAT32 ajurit, jotka saa linkistä ftp://ftp.netlabs.org/pub/fat32/, jos haluaa käyttää FAT32-tiedostojärjestelmää. Muistitikut on formatoitu oletuksena FAT16:ksi.
Toiseksi tarvitaan Warp 3:ssa ja Warp 4:ssa DaniDASD V1.4.4 tai uudempi (ei voi käyttää LVM-systeemien kanssa). Uudemmissa Warpeissa sitä ei tarvita. Tämä on parannettu versio OS/2:n DASD managerista OS2DASD.DMD (DMD = Device Manger Driver). OS2DASD.DMD (ja vastaava DaniDASH.DMD) on levyjen yleisohjain, jonka avulla muodostetaan mm. levyasemien tunnukset, ja sen avulla OS/2 tunnistaa FAT32-osiot. Voit tietysti käyttää myös IBM:n omaa parannettua OS2DASD.DMD-ajuria, joka sisältyy idedasd.exe-pakettiin (ks. sivu http://www.warpupdates.mynetcologne.de/english/hard_removables.html#idedasd).
Kolmanneksi tarvitaan usb-ajurit (on valmiina uudemmissa MCP1- ja MCP2-järjestelmissä). Jos ei ole IBM:n Software Choice -asiakas (maksullinen) ja käyttää perus-Warppia (3 tai 4), voi käyttää Chris Wohlgemuthin ilmaisia ajureita.
Omat usb-kokeiluni ovat rajoittuneet vain SanDisk Cruzer micro -usb-mustitikkuun (256 MB) Warp 3 Connect ja Warp 4 -käyttöjärjestelmissä (päivitetty Warp Update Kitin avulla). Muistitikun pakkauksessa luvataan tuki vain Windowsille ja Macille mutta itse olen käyttänyt sitä OS/2:ssa ja Linuxissa ongelmitta.
Usb-muistitikku on muisti, joka voidaan formatoida eri tiedostojärjestelmille ja sen voi myös tarvittaessa tyhjentää täydellisesti fdiskillä osiotaulukkoa myöten. Asematunnus annetaan vain ensiöosiolle (primary partition), joten loogisia asemia ei voi käyttää vaikka niitä voikin tehdä (näin ainakin itselläni).
Tätä kirjoittaessa (16.10.2004) uusimman Chris Wohlgemuthin ajuripaketin voi imuroida linkistä http://www.os2world.com/cdwriting/cwusbmsd/files/cw-usbmsd-v1_2b.zip. Paketti sisältää seuraavat ajurit:
CWUSBUHC.SYS UHCI compliant USB host controller driver CWUSBOHC.SYS OHCI compliant USB host controller driver CWUSBD.SYS USB driver CWUSBMSD.ADD Enhanced USB mass storage class driver
Kopioi *.SYS ja *.ADD \OS2\BOOT-hakemistoon. Lisää seuraavat rivit CONFIG.SYS-tiedostoon ja reboottaa kone (Ctrl-Alt-Del).
BASEDEV=CWUSBUHC.SYS /V **** If you have an OHCI chipset use CWUSBOHC.SYS BASEDEV=CWUSBD.SYS /V BASEDEV=CWUSBMSD.ADD /V /FLOPPIES:0 /REMOVABLES:1 /FIXED_DISKS:0 /FORCE_TO_REMOVABLE
Huomaa kuitenkin, että Warp 4:ssa mahdollinen IBM:n oma ajuri USBMSD.ADD (ADD = Adapter Device Driver) pitää kommentoida pois (REM BASEDEV=USBMSD.ADD). Uudemmissa Warpeissa (ainakin Warp 4.52) molemmat voivat olla rinnakkain tai voit käyttää pelkästään IBM:n ajureita (suositeltavaa, MCP2:n päivittämätön USBMSD.ADD ei kyllä toimi itselläni). Itselläni on Warp 4:ssa seuraavat rivit config.sys-tiedostossa:
REM Chris W's usb drivers http://www.os2world.com/cdwriting REM (rem IBM driver BASEDEV=USBMSD.ADD out if existing) BASEDEV=CWUSBUHC.SYS /V BASEDEV=CWUSBD.SYS /V BASEDEV=CWUSBMSD.ADD /V /FLOPPIES:0 /REMOVABLES:1 /FIXED_DISKS:0 /FORCE_TO_REMOVABLE REM usb device monitor by usbguy@netlabs.org DEVICE=e:\os2\boot\usbresmg.sys
Asensin FAT32-ajurit ja IBM:n ilmaiset usb-ajurit UpdCD:llä päivitettyyn Warppiin, mutta IBM:n omat ajurit jumiuttivat koneen (Exception in module: USBUHCD) 'perus-Warp 4:ssa' (tätä ei taphtunut MCP2:ssa), joten jouduin käynnistämään koneen boottaavalta Warp-CD:ltä ja kommentoimaan IBM:N ajurit pois ja käyttämään tilalla Chrisin ajureita. Tietysti voit käynnistää Ossin myös Alt-F1 ja sieltä komentorivitilaan, kun vasemmassa yläkulmassa näkyy OS2-teksti, ja tehdä tarvittavat muutokset config.sys-tiedostoon.
Kuvassa mainittu 'USB Support' (WUKin avulla päivitetty Warp ja Selective Install for Addons) ei siis asenna usb-tukea massamuistilaitteille (ainakaan vielä) mutta kylläkin tuen usb-printterille, näppäimistölle, hiirelle ja äänikortille:
REM UpdCD rem BASEDEV=USBUHCD.SYS rem BASEDEV=USBD.SYS /REQ:USBUHCD$ BASEDEV=USBHID.SYS REM Enable this line on IBM 365 systems: BASEDEV=USBUHCD.SYS /FS REM Enable this line with IBM DockStation III: BASEDEV=USBUHCD2.SYS DEVICE=E:\OS2\BOOT\USBMOUSE.SYS DEVICE=E:\OS2\BOOT\USBKBD.SYS DEVICE=E:\OS2\BOOT\USBCOM.SYS DEVICE=E:\OS2\BOOT\USBAUDIO.SYS DEVICE=E:\OS2\BOOT\USBPRT.SYS
Viimeinen rivi edellä mainitussa config.sys-tiedostossa
REM usb device monitor by usbguy@netlabs.org DEVICE=e:\os2\boot\usbresmg.sys
on USB Ressource Manager, jonka voi imuroida Netlabsin sivulta ftp://ftp.netlabs.org/pub/usb/usbres.zip. Ohjelma näyttää koneeseen liitetyt usb-laitteet .
Pura zip-paketti johonkin alihakemistoon (esim. \tools\usbresmg) ja lisää CONFIG.SYS--tiedostoon rivi:
DEVICE=x:\polku\usbresmg.sys
Itse kopioin sys-tiedoston \os2\boot-hakemistoon.
Käynnistä ohjelma USBRES.EXE hakemistosta, johon olet sen asentanut, jolloin näet liitetyt usb-laitteet. Jostain syystä ohjelma ei saa olla polussa tai se ei käynnisty ja saat virheilmoituksia.
Saat yksityiskohtaisen selostuksen laitteesta valitsemalla laitteen hiiren oikealla näppäimellä ja painamalla sen jälkeen hiiren vasenta näppäintä.
Tee ohjelmasta ikoni työpöydälle (Create Shadow - Desktop), jolloin ohjelman käyttö on helppoa.
Usb-muistitikku on formatoitu käyttäen FAT16-tiedostojärjestelmää, joten sille ei voi kopioda OS/2:ssa tiedostoja, jotka ovat yli 8 merkin mittaisia. Myös Windowsissa kopiodut pitkät tiedostonimet näkyvät vain kahdeksan merkin pituisina.
HPFS-tiedostojärjestelmää käytettäessä ongelmaa ei esiinny. Tikun voi siis formatoida uudestaan HPFS tiedostojärjestelmää käyttäen, esim.
format g: /fs:hpfs
Jos tarvitsee käyttää pitkiä tiedostonimiä, on muistitikku formatoitava Windows XP:ssä FAT32:ksi (alle 512 Mt osiota ei voi formatoida FAT32:ksi vanhemmissa Windowseissa eikä OS/2:ssa). Jos formatointi FAT32:ksi ei jostain syystä onnistu, niin seuraavien comp.os.os2.bugs-uutisryhmässä annettuja ohjeita noudattamalla se pitäisi saada suoritettua:
From: David Graser (dwgras@swbell.net) Subject: Update on Using FAT32 with removable media Newsgroups: comp.os.os2.bugs Date: 2004-06-15 14:16:17 PST After encountering many problems trying to use FAT32 with USB devices, I have discovered one of the major hurdles. I want to thank Jim Read, The developer of FileStar and Unimaint, for all his help and advice on how to get it working. To begin with, it appears both fdisk (Windows version, probabley OS/2's too, and LVM have problems writing tO the Master Boot Records on these devices. Either the Master Boot Record doesn't get updated cOrrectly or it fills up with LVM or Fdisk giving an error message such as "Unable to write to disk space." Here is what one must do to get there USB devices working with eCS or OS/2. First you need the latest IBM usb drivers. Second, if the following steps don't work, then replace the IBM mass storage device with Chris'. rem BASEDEV=USBMSD.ADD with BASEDEV=CWUSBMSD.ADD To get USB media working with FAT32: 1. Create a New Master Boot Record (I recommend DFSee). a. Using DFSOS2, move to the "Mode=FDISK" menu selection. b. Scroll down to "new_MBR CODE, ERASE_tables c. Select the correct device d. Select Okay Then Click "Refresh Removable Media" object then use LVM to create a new partition. Then create a new compatibility volume. In my case, I chose to assign a permanent drive letter so I can tell my USB devices by the drive letter. It is probably preferrable that you don't. Commit the changes. Use the drive object to "eject" the media. Format the media with Window XP. You can then move it back over to the eCS/OS2 machine and run "Refresh Removable Media Again". Sometimes it takes a reboot for the media to be recognized. If using a Zip drive, the Master Boot Record MUST be replaced with a new one in order to see FAT32 under eCS. Regards, David
Kuvassa on esitetty edelliseen tekstiin viitaten kuinka Dfsee-ohjelmassa luodaan uusi mbr.
Kuvassa näkyy usb-muistitikun mbr:n osiotaulu (Partition table) Dfsee-ohjelmasta käsin nähtynä.
USB-massamuistilaitteet pitäisi irrottaa (eject) käytöstä ennen koneen sammuttamista, jolloin tiedostojärjestelmä suljetaan (vrt. Linuxin sync- ja umount-komennot). Jos näin jää tekemättä, asemaa ei voi käyttäää ennen CHKDSK /F ajamista (näin ainakin 'perus-Warp 4:ssa'). Saat myös ilmoituksen sulkematta jääneestä tiedostojärjestelmästä koneen käynnistyksen yhteydessä:
SYS0627: Drive %1 was improperly stopped. From the OS/2 command prompt, run CHKDSK with the /F parameter on the specified drive. Press enter to continue...[e:\desktop]chkdsk /f g: The current hard disk drive is: G: The type of file system for the disk is HPFS. The HPFS file system program has been started. CHKDSK found and corrected a minor file system error. CHKDSK is searching for lost data. CHKDSK has searched 100% of the disk. 255984 kilobytes total disk space. 5 kilobytes are in 2 directories. 14698 kilobytes are in 15 user files. 4714 kilobytes are reserved for system use. 236567 kilobytes are available for use.
Ongelma ainakin minulla on tuo 'eject', joka ei näyttäisi tekevän mitään. Sen pitäisi poistaa 'Removable Media' -objekti pois näkyvistä mutta niin ei itselläni tapahdu. Eikä itselläni ole Warp 4:ssa mitään 'Refresh Removable Media' -objektia, jolla laite otetaan taas käyttöön (vrt. Linuxin 'mount').
Refresh Removable Media -objekti on vasta päivitetyssä Warpissa - ainakin Warp 4.52:ssa = MCP2 (MCP2 = Merlin Convenience Package 2).
Hyvä sivu usb:stä on USB and OS/2: http://www.os2warp.be/index2.php?name=usbreview.
IBM:n usb-ajurit vaativat SWC-sopimuksen (SWC = Software Choice) ja ne voi imuroida seuraavista linkeistä:
Huomaa myös varoitus sivulla http://www.warpupdates.mynetcologne.de/english/base_lvmjfs.html, jos
formatoit muistitikun käyttäen IBM:n omaa Super FAT -formaattia ja käytät
LVM:ää:
Because LVM was designed to be used with partitioned direct access
storage devices (i. e. hard disks primarily) - which are managed by the
OS2DASD.DMD device management driver - there is a problem with removable media.
Media that are formatted with the Super Floppy Disk format cannot be handled
correctly, because they do not have a partition table (otherwise equal to
FAT16). If you allow LVM to commit changes when exiting the program, it will
write to inserted removable media in SFD format causing data corruption! So
please eject such media before allowing LVM to perform write
operations!
Ota siis tikku pois ennen kuin käytät LVM-osiointityökalua (esim. Warp 4.52:ssa se on vakiona FDISKin tilalla)! LVM ilmoittaa virheestä osiotaulussa (Super FAT:ssa ei ole osiotaulua ) ja jos sen antaa kirjoittaa muutokset levylle, data korruptoituu.
Lisätietoa Warpin historiasta: http://www.os2bbs.com/os2news/OS2Warp.html.
Olen testannut usb-muistitikkua etupäässä UpdCD:llä päivitetyssä Warp 4:ssa mutta se toimii myös Warp 3:ssa. Kuitenkin vasta päivitetyssä Warp 4.52:ssa, IMHO, tikku toimii kuten pitääkin ilman ongelmia.
Jos käytössäsi on Warp 4.52 (MCP 2), käytä IBM:n omia ajureita (USB host controller driver, USB driver) ja ota Chris W:n paketista käyttöön vain CWUSBMSD.ADD (Enhanced USB mass storage class driver), jonka pitäisi olla IBM:n omaa ajuria parempi.
Uudemmat OS2DASD.DMD-ajurit tunnistavat myös eject-komennon suoraan komentoriviltä, jolla voit irrottaa usb-laitteen, esim 'eject g:'. Liitä laite uudelleen painamalla Refresh Removable Media -objektia.
Usb-laite ei siis saa asematunnusta automaattisesti käynnistyksen yhteydessä vaan Refresh Removable Media -objektin painaminen saa LVM.EXE:n antamaan laitteelle seuraavan vapaana olevan asematunnuksen.
Huomaa, että laitetta ei liitetä automaattisesti käynnistyksen yhteydessä (ei ainakaan minulla) vaan liittämiseen pitää aina käyttää Refresh Removable Media -objektia.