Usb-massamuistilaitteet

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ä.

usb-asema

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).

usb-asema

Ajurien asennus

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

Selective install for AddonsAsensin 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

Usb-laitteiden monitorointi

Viimeinen rivi edellä mainitussa config.sys-tiedostossa

REM usb device monitor by usbguy@netlabs.org
DEVICE=e:\os2\boot\usbresmg.sys

USB-laitteiden monitorointion 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.

USB devicesKä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ä.

USB device report USB device monitor

Create shadowTee ohjelmasta ikoni työpöydälle (Create Shadow - Desktop), jolloin ohjelman käyttö on helppoa.

FAT32

Format FAT32Usb-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

USB devicesKuvassa on esitetty edelliseen tekstiin viitaten kuinka Dfsee-ohjelmassa luodaan uusi mbr.

USB devicesKuvassa näkyy usb-muistitikun mbr:n osiotaulu (Partition table) Dfsee-ohjelmasta käsin nähtynä.

Pohdittavaa

USB devicesUSB-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').

usb-asemaRefresh Removable Media -objekti on vasta päivitetyssä Warpissa - ainakin Warp 4.52:ssa = MCP2 (MCP2 = Merlin Convenience Package 2).

Luettavaa

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.

Lopuksi

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.

Selective install for Addons 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.