Vraag & Antwoord

OS Linux

usb key werkt niet onder linux

Anoniem
Marcel de Reus
41 antwoorden
  • FWIW: het probleem is dat veel USB Flash thingies wel met SCSI commando's aangestuurd worden, maar veel van dat soort gadgets afwijkingen hebben (voornamelijk afwijkingen t.o.v. de SCSI standaard). De meeste OSes hebben een quirk table waarmee je dit soort afwijkingen per apparaat op kunt geven. Ik weet niet waar je dit op Linux kunt doen, want Linux heeft tot nu toe al mijn drives gegeven. Maar ik heb het wel een aantal keer op *BSD moeten doen. Een voorbeeld:

    [code:1:0b8b4e23f5]
    — usbdevs.origTue Dec 24 19:05:49 2002
    +++ usbdevsTue Dec 24 19:08:56 2002
    @@ -328,6 +328,7 @@
    vendor EASYDISK0x0c76EasyDisk
    vendor TANGTOP0x0d3dTangtop
    vendor PEN0x0d7dPen Drive
    +vendor JETFLASH0x0ea0 JetFlash
    vendor MOTOROLA0x1063Motorola
    vendor CCYU0x1065CCYU Technology
    vendor PLX0x10b5PLX
    @@ -767,6 +768,9 @@

    /* Jaton products */
    product JATON EDA0x5704Ethernet Device Adapter
    +
    +/* Transcend JetFlash products */
    +product JETFLASH 64MB0x6803 64MB

    /* Kawatsu products */
    product KAWATSU MH4000P0x0003MiniHub 4000P
    — umass_quirks.c.origThu Dec 26 12:57:06 2002
    +++ umass_quirks.cThu Dec 26 12:41:29 2002
    @@ -90,6 +90,14 @@
    NULL, NULL
    },

    +{ { USB_VENDOR_JETFLASH, USB_PRODUCT_JETFLASH_64MB },
    + UMASS_WPROTO_BBB, UMASS_CPROTO_SCSI,
    + 0,
    + PQUIRK_NOMODESENSE | PQUIRK_NOBIGMODESENSE,
    + UMATCH_VENDOR_PRODUCT,
    + NULL, NULL
    +},
    +
    { { USB_VENDOR_MICROTECH, USB_PRODUCT_MICROTECH_DPCM },
    UMASS_WPROTO_CBI, UMASS_CPROTO_ATAPI,
    [/code:1:0b8b4e23f5]

    Wat je hier concreet aan hebt? Als het een afwijking in het SCSI protocol is spuugt de kernel vaak na een verloop van tijd uit wat het probleem is, en kun je door wat te experimenteren een quirck opnemen. Hoe dat bij Linux gaat zou je zelf even uit moeten zoeken ^_^.

    Maar ik hoop dat je er met een andere partitietabel komt ;).
  • Ik ben net effe bij mijn ouders thuis geweest, heb hem nogmaals aan mijn mopeders suse 64 pc gehangen (met usb 2) hier is het zo dat ie niet met dat zogehete subfs werkt (dus hij word niet in my computer gezet) maar aan de hand van de uitvoer van dmesg kan ik hem gewoon mounten.

    ik heb thuis op mijn slack-computer nog steeds kernel 2.4.26 maar op de verpakking stond dat ie met kernel 2.4.X of hoger moest werken.

    sorry heb de uitput niet van de 64 bit suse

    ik wil eigenlijk 2 partities uiteindelijk er op van 256 mb
    ik wilde de eerste partitie een kleine linux op zetten en de 2e een fat 32 partitie met wat data.

    dus wil het zowel voor win als lin geschikt hebben
  • @danieldk

    Ik denk dat dit soort dingen te hoog gegrepen zijn voor mij
    ik hoop dat er een makkelijkere oplossing is.
  • [quote:be16907e34="Emielcuijk"] ik wil eigenlijk 2 partities uiteindelijk er op van 256 mb ik wilde de eerste partitie een kleine linux op zetten en de 2e een fat 32 partitie met wat data. [/quote:be16907e34] Ik neem aan dat je fat 16 bedoelt. Bij een partitie grootte van 256 MB heeft fat 32 geen zin.

    Maar klopt het dan dat er nu 4 primaire partities opstaan? Want dat toont je dmesg output
    [code:1:be16907e34] sda: sda1 sda2 sda3 sda4 [/code:1:be16907e34]
  • als ik hem in windows open staat er 1 partitie op

    okeey fat 16 is ook goed, maakt denk ik niet veel uit he
  • Tja, ik zou gewoon denken dat het ding een obscure partitietabel heeft die je zelf best in orde maakt. Dus alle gegevens die er op zouden staan backuppen, met fdisk in linux alle partities eraf gooien, eentje aanmaken en type c zetten (=win95/fat32, of een 16bit fat als je dat liever hebt). Als je dan deze partitie formatteert met mkdosfs moet je hem ook in windows terug kunnen lezen.
  • ik heb net effe fdisk geopend (wat werkt cfdisk toch fijn merk ik nu)

    dit is de partitie tabel volgens hem:
    [code:1:e392f09946]
    Disk /dev/sda: 1073 MB, 1073741312 bytes
    34 heads, 61 sectors/track, 1011 cylinders
    Units = cylinders of 2074 * 512 = 1061888 bytes

    Device Boot Start End Blocks Id System
    /dev/sda1 ? 925724 1188230 272218546+ 20 Unknown
    Partition 1 has different physical/logical beginnings (non-Linux?):
    phys=(356, 97, 46) logical=(925723, 23, 54)
    Partition 1 has different physical/logical endings:
    phys=(357, 116, 40) logical=(1188229, 18, 7)
    Partition 1 does not end on cylinder boundary.
    /dev/sda2 ? 641362 901235 269488144 6b Unknown
    Partition 2 has different physical/logical beginnings (non-Linux?):
    phys=(288, 110, 57) logical=(641361, 24, 25)
    Partition 2 has different physical/logical endings:
    phys=(269, 101, 57) logical=(901234, 19, 15)
    Partition 2 does not end on cylinder boundary.
    /dev/sda3 ? 259880 934114 699181456 53 OnTrack DM6 Aux3
    Partition 3 has different physical/logical beginnings (non-Linux?):
    phys=(345, 32, 19) logical=(259879, 5, 41)
    Partition 3 has different physical/logical endings:
    phys=(324, 77, 19) logical=(934113, 31, 50)
    Partition 3 does not end on cylinder boundary.
    /dev/sda4 * 672434 672445 10668+ 49 Unknown
    Partition 4 has different physical/logical beginnings (non-Linux?):
    phys=(87, 1, 0) logical=(672433, 26, 36)
    Partition 4 has different physical/logical endings:
    phys=(335, 78, 2) logical=(672444, 2, 22)
    Partition 4 does not end on cylinder boundary.

    Partition table entries are not in disk order
    [/code:1:e392f09946]

    ik snap hiet niet zoveel van.

    maar hij doet volgens mij ook iets fout, namelijk 1073 mb aangeven….

    kan ik deze allemaal deleten?
  • Die hele partitietabel is vreemd. Ziet er naar uit dat de fabrikant allerlei ingewikkelde constructies heeft verzonnen. Ik zou gewoon alles eruit mikken en zelf je twee nieuwe partities aanmaken.
  • sorry dat ik jullie zo veel lastig van maar ik ben een beetje bang dat ik iets fout doe

    ik sta nu voor deze keuze:
    [code:1:ebcca163c2]Command (m for help): p

    Disk /dev/sda: 1073 MB, 1073741312 bytes
    34 heads, 61 sectors/track, 1011 cylinders
    Units = cylinders of 2074 * 512 = 1061888 bytes

    Device Boot Start End Blocks Id System

    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    [/code:1:ebcca163c2]
  • wat moet ik hier precies kiezen en wat zijn de verschillen en consequenties
  • In principe moet je nu p kiezen en dan een paar keer op enter rammen als hij om begin- en eindcilinders vraagt. Dan type veranderen met het commando t, en dan partitietabel wegschrijven met w.
    Maar ik vrees er voor dat je nog niet jarig bent met dat ding, aangezien de output daarnet al zeer vreemd was en hij blijkbaar de verkeerde grootte aangeeft. Ik begin inderdaad te geloven dat die stick zich niet aan de scsi standaarden houdt, zoals daniel al aangaf. Maar je kan het altijd eens proberen…
  • [quote:97942f16fe="Emielcuijk"]wat moet ik hier precies kiezen en wat zijn de verschillen en consequenties[/quote:97942f16fe]

    Als je twee partities wilt kun je gewoon twee keer een primaire partitie aanmaken. Extended partities heb je enkel nodig als je meer dan vier partities wilt maken en dat lijkt me niet erg praktisch op zo'n kleine stick ;)
  • Misschien staat in dit topic nog iets dat je kunt gebruiken. Die stick werkt nog steeds niet onder RH8 :( maar wel onder Slackware10 (originele kernel) op een 500MHz PIII laptop en een AMDK6-III desktop :P .
  • ik had dus alle partities met fdisk er af gegooid en nu heb ik 2 primaire partities gemaakt, de eerste als ext2 geformateerd en voor de 2e ga ik nog effe uitzoeken hoe je in lin fat formateerd

    maar dus het komt allemaal goed, ik kon sda1 (de ext partitie) gewoon mounten
  • Ik wil in die eerste partitie een linux distro zetten, ik denk damn small linux, en deze een beetje aanpassen met mijn faforite programma's.
    En dan de data op de 2e schijf die dan in op elke computer in te lezen is.
  • Ik wil je niet afschrikken, maar ik heb ook wel eens zo'n bootable distributie op mijn USB key gehad. Totdat ik erachter kwam dat vrijwel geen enkele PC kan booten vanaf zo'n stick. Ik heb er maar twee gevonden. Waaronder een een Proliant server was. USB CDROM driver en USB floppies zijn vaak geen probleem, maar een USB disk was een probleem voor de gemiddelde PC BIOS.

    Misschien heb jij wel geluk. Laat het eens weten.
  • ik denk er ook aan een boot cd van 80mm er bij te maken voor pc's die dit niet ondersteunen
  • Beter idee ja. :wink:
  • Mijn oplossing:

    Mijn USB stick bevat gegevens die ik ook onder linux wil kunnen benaderen. Hierdoor moest mijn systeem worden aangepast om deze verwijderbare drive te kunnen mounten. De eerste stap is na te gaan of de juiste USB drivers zijn geladen. Dit kun je controleren met lsmod. Je ziet dan zoiets als
    [code:1:bf4e6a88eb]
    usb-storage 66176 0 (unused)
    uhci 24444 0 (unused)
    usbcore 59308 1 [usb-storage uhci]
    [/code:1:bf4e6a88eb]
    Het gaat om usbcore en usb-storage, die moeten zijn geladen. Dan moet je met dmesg nog de lokatie bepalen waar de usb-stick wordt gevonden en of hij goed wordt herkent.
    [code:1:bf4e6a88eb]
    hub.c: new USB device 00:07.2-1, assigned address 2
    usb.c: USB device 2 (vend/prod 0x930/0x651e) is not claimed by any active driver.
    Initializing USB Mass Storage driver…
    usb.c: registered new driver usb-storage
    scsi1 : SCSI emulation for USB Mass Storage devices
    Vendor: Kingston Model: DataTraveler 2.0 Rev: 1.00
    Type: Direct-Access ANSI SCSI revision: 02
    Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0
    SCSI device sda: 974848 512-byte hdwr sectors (499 MB)
    sda: Write Protect is off
    sda: sda1
    WARNING: USB Mass Storage data integrity not assured
    USB Mass Storage device found at 2
    USB Mass Storage support registered.
    [/code:1:bf4e6a88eb]
    Voeg in /etc/fstab de volgende regel toe:
    [code:1:bf4e6a88eb]
    /dev/sda /mnt/usb vfat noauto,user,rw 0 0
    [/code:1:bf4e6a88eb]
    Je kunt dan als user mounten met het commando mount /mnt/usb. Uiteraard op voorwaarde dat /mnt/usb bestaat.

    Let er op dat je eerst unmount voordat je de USB-stick verwijdert. Als je dit niet doet kan dat je filsesystem goed onderuit halen. Unmounten: umount /mnt/usb

    Sterkte!

    greetz, dJezzer 8)
  • Ik heb hotplug geinstalleerd.
    In /etc/hotplug/usb.usermap de regel
    [code:1:24e67bb9a5]memorystick 0x03 0x0d7d 0x0150 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000[/code:1:24e67bb9a5]
    toegevoegd. (uitput van dmeg vend/prod - in djezzers voorbeeld hierboven de regel "usb.c: USB device 2 (vend/prod 0x930/0x651e) is not claimed by any active driver. ")
    Je hebt ook wel tooltjes om de usb.usermap file te genereren.

    En een scriptje /etc/hotplug/usb/memorystick
    [code:1:24e67bb9a5]#!/bin/bash
    modprobe sr_mod
    modprobe sd_mod
    modprobe vfat
    modprobe usb-storage
    mount -t vfat /dev/sda1 /mnt/UsbStick
    [/code:1:24e67bb9a5]

    Zo word 'ie automagisch gemount als ik de stick in de computer steek. Op de desktop een icoontje om hem weer te unmounten, zoals in windows ook de bedoeling is. Heb mijn usb stick onder windows ook wel eens om zeep geholpen na door eruit te trekken na het kopieeren van een paar dirs.

    Niet vergeten hotplugging te activeren in de kernel.
    Zie ook http://linux-hotplug.sourceforge.net en de hotplug man page.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.