Opened 11 years ago

Closed 11 years ago

#54 closed defect (fixed)

Error in chkdsk of a drive formatted with JFS FS

Reported by: Anchieri Owned by: somebody
Priority: critical Component: basedrv
Version: Keywords:
Cc:

Description

I have installed your last usbhcd-190 version but if I want to check a disk I receive a fatal error.

I have attached a jfs-error.txt file with information on this error, please read it.

Attachments (17)

jfs_error.txt (3.7 KB) - added by Anchieri 11 years ago.
description of error
anchieri.zip (32.8 KB) - added by Lars Erdmann 11 years ago.
USBEHCD: fixes to "PrepareToRemove?": back out setting currTD to ZERO
jfs-error-02.txt (3.0 KB) - added by Anchieri 11 years ago.
information on chkdsk
anchieri.2.zip (75.3 KB) - added by Lars Erdmann 11 years ago.
USBEHCD: back out resetting QTD_IOC_FLAG on cancel, back out some changes in FreeClaimed?
dfsee.jpg (145.0 KB) - added by Anchieri 11 years ago.
anchieri.3.zip (75.1 KB) - added by Lars Erdmann 11 years ago.
USBEHCD: back out changes to AddTDToQH
anchieri.4.zip (75.2 KB) - added by Lars Erdmann 11 years ago.
USBEHCD: put in NULL pointer check for p_qtd accidentally left out
anchieri4.txt (5.2 KB) - added by Anchieri 11 years ago.
anchieri.5.zip (75.3 KB) - added by Lars Erdmann 11 years ago.
USBEHCD: fix NULL pointer problem in UnallocateUsbrbData?
anchieri.6.zip (75.3 KB) - added by Lars Erdmann 11 years ago.
USBEHCD: additional changes to "CheckQH" and "FinishIO"
anchieri.7.zip (75.4 KB) - added by Lars Erdmann 11 years ago.
USBEHCD: put back in read pointer skip over USBRB to free, trigger doorbell on QH still being active
anchieri.8.zip (75.5 KB) - added by Lars Erdmann 11 years ago.
USBEHCD: reintroduce frame list rollover interrupt
anchieri8.txt (950 bytes) - added by Anchieri 11 years ago.
anchieri.9.zip (75.6 KB) - added by Lars Erdmann 11 years ago.
anchieri9.txt (4.2 KB) - added by Anchieri 11 years ago.
CPUASUS-1.jpg (148.6 KB) - added by Anchieri 11 years ago.
CPUASUS2.jpg (219.9 KB) - added by Anchieri 11 years ago.

Download all attachments as: .zip

Change History (42)

Changed 11 years ago by Anchieri

Attachment: jfs_error.txt added

description of error

comment:1 Changed 11 years ago by Barry Landy

I tried the same thing on my system without error.

I used DFSEE to give a drive letter to a pre-existing partition on an external USB connected drive. I used LVM to make sure the system recognised the letter.

I could then CHKDSK it without problem and read and write (quite a lot of stuff) to it.

HOWEVER... I then tried to clean up by using DFSEE again to remove the drive letter but instead of DFSEE starting up, the system spontaneously rebooted with no clue as to why.

On reboot I could tidy up without problem.

reported for interest....

comment:2 Changed 11 years ago by Lars Erdmann

@Anchieri: are you plugging in your USB drives into an external USB hub ? If yes, directly attach them to your computer.

Changed 11 years ago by Lars Erdmann

Attachment: anchieri.zip added

USBEHCD: fixes to "PrepareToRemove?": back out setting currTD to ZERO

comment:3 Changed 11 years ago by Lars Erdmann

try anchieri.zip for USBEHCD.SYS.

comment:4 Changed 11 years ago by Anchieri

I have tested your anchieri.zip as previous: with attaching all my external disk drives before booting. Of this three disk only the first two come attached J: and K:. I open the folder of drive K: and in this time the system don't stopped. I then tested the chkdsk on disk K: the result is in the attached file jfs-error-02.txt In response of your question I have inserted also the output of usb.cmd the disks are attached at one of this internal host controller, I don't have external hub.

Changed 11 years ago by Anchieri

Attachment: jfs-error-02.txt added

information on chkdsk

comment:5 Changed 11 years ago by Lars Erdmann

I cannot help you with your drive letter problem. It's something that is going wrong with OS2LVM.DMD. I suggest you assign new drive letters to your JFS USB drives. Maybe that rectifies the situation. For sure it's not a problem with the USB drivers.

comment:6 Changed 11 years ago by Lars Erdmann

By the way: for your attach problems, try blandy2.zip and also blandy3.zip from ticket #49. Report back which version works for you.

Changed 11 years ago by Lars Erdmann

Attachment: anchieri.2.zip added

USBEHCD: back out resetting QTD_IOC_FLAG on cancel, back out some changes in FreeClaimed?

comment:7 Changed 11 years ago by Lars Erdmann

Try anchieri2.zip and tell me if that fixes your chkdsk problems.

comment:8 Changed 11 years ago by Anchieri

I have installed the content of file anchieri2.zip and rebooted. After that I have open dfsee and I have captured an image of dfsee (dfsee.jpg) drive as you can see, then I have run chkdsk on drive K: attached before boot, here is the result:

[C:\]chkdsk K: /F

The current hard disk drive is: K:

The type of file system for the disk is JFS.

The JFS file system program has been started.

CHKDSK Block size in bytes: 4096

CHKDSK File system size in blocks: 39072080

CHKDSK *Phase 0 - Replay Journal Log

CHKDSK *Phase 1 - Check Blocks, Files/Directories?, and Directory Entries

Internal error: devices.c(532): Write error 31 (GEN_FAILURE)

JFS0187: CHKDSK Unrecoverable error writing M to K:. CHKDSK CANNOT CONTINUE.

CHKDSK File system is clean.

CHKDSK THE FILE SYSTEM IS NOW AVAILABLE.

CHKDSK Transferring entries from the LVM Bad Block Table for this file

system to the JFS Bad Block Table for this file system.

CHKDSK LVM reports 0 bad blocks. Of these, 0 have been transferred

to the JFS Bad Block List.

.@.......

[C:\]

then I have run the command:

[C:\]dir K:\*.*

The volume label in drive K is IOMEGA-JFS.

The Volume Serial Number is B71A:95C0.

Directory of K:\

10/01/13 16:39 <DIR> 0 ---- .

10/01/13 16:39 <DIR> 0 ---- ..

17/12/12 16:42 <DIR> 0 ---- C_

03/12/12 18:15 <DIR> 0 ---- D_

14/03/13 15:27 <DIR> 0 ---- H_

29/04/13 17:25 <DIR> 0 ---- I_

6 file(s) 0 bytes used

2.749.542 K bytes free

[C:\] As you can see the disk is readable but the error remain.

Changed 11 years ago by Anchieri

Attachment: dfsee.jpg added

Changed 11 years ago by Lars Erdmann

Attachment: anchieri.3.zip added

USBEHCD: back out changes to AddTDToQH

comment:9 Changed 11 years ago by Lars Erdmann

try anchieri.3.zip

Changed 11 years ago by Lars Erdmann

Attachment: anchieri.4.zip added

USBEHCD: put in NULL pointer check for p_qtd accidentally left out

comment:10 Changed 11 years ago by Lars Erdmann

try anchieri.4.zip instead of anchieri.3.zip. In anchieri.3.zip I accidentally left out a fix done long ago in order to prevent a Trap D.

comment:11 Changed 11 years ago by Anchieri

I have executed many test as you can see in anchieri4.txt attached, nothing give a valid result.

Changed 11 years ago by Anchieri

Attachment: anchieri4.txt added

Changed 11 years ago by Lars Erdmann

Attachment: anchieri.5.zip added

USBEHCD: fix NULL pointer problem in UnallocateUsbrbData?

comment:12 Changed 11 years ago by Lars Erdmann

Try anchieri.5.zip.

Changed 11 years ago by Lars Erdmann

Attachment: anchieri.6.zip added

USBEHCD: additional changes to "CheckQH" and "FinishIO"

comment:13 Changed 11 years ago by Lars Erdmann

Try anchieri.6.zip.

comment:14 Changed 11 years ago by Anchieri

I have installed your anchieri.6.zip and reboted the PC, running chsck disk, here the result:

[C:\]chkdsk K: /F The current hard disk drive is: K: The type of file system for the disk is JFS.

The JFS file system program has been started.

CHKDSK Block size in bytes: 4096

CHKDSK File system size in blocks: 39072080

CHKDSK *Phase 0 - Replay Journal Log

CHKDSK *Phase 1 - Check Blocks, Files/Directories?, and Directory Entries

JFS0148: CHKDSK Unrecoverable error reading M from K:. CHKDSK CANNOT CONTINUE.

@........

[C:\] the failure remain.

Changed 11 years ago by Lars Erdmann

Attachment: anchieri.7.zip added

USBEHCD: put back in read pointer skip over USBRB to free, trigger doorbell on QH still being active

comment:15 Changed 11 years ago by Lars Erdmann

Try anchieri.7.zip. Sorry but I cannot reproduce your problem as I can properly run chkdsk on large JFS or HPFS drives without a problem. It'll take some trial and error.

Changed 11 years ago by Lars Erdmann

Attachment: anchieri.8.zip added

USBEHCD: reintroduce frame list rollover interrupt

comment:16 Changed 11 years ago by Lars Erdmann

Try anchieri.8.zip (skip anchieri.7.zip)

comment:17 Changed 11 years ago by Anchieri

I have tested your anchieri.8.zip, but the failure persist, see my thought on this error in anchieri8.txt attached.

Changed 11 years ago by Anchieri

Attachment: anchieri8.txt added

comment:18 Changed 11 years ago by Lars Erdmann

Is M: not a USB disk ? Is K: not a USB disk ?

Anyway: please use the /S: switch of USBEHCD.SYS to lower the transmission speed:

BASEDEV=USBEHCD.SYS /S:8

Tell me if that makes a difference.

Changed 11 years ago by Lars Erdmann

Attachment: anchieri.9.zip added

comment:19 Changed 11 years ago by Lars Erdmann

please try anchieri.9.zip. Then do as described above with the /S: switch.

You can then succesively try these values until you get the failure again:
/S:4
/S:2
/S:1 (this is the default if you don't specify the /S: switch)

Last edited 11 years ago by Lars Erdmann (previous) (diff)

comment:20 Changed 11 years ago by Barry Landy

"drive K is an IOMEGA RAM drive" - do I understand that correctly: it is a drive using RAM emulating a USB drive? In which case it might be totally different to a real USB drive.

I am happy to try it out on my system to generate extra data but I would need the source to install the RAM drive.

comment:21 Changed 11 years ago by Anchieri

Mr Erdmann, I have Installed the last anchieri.9.zip file and I have tested with /S:4 and With /S:8, with the first I have minor error but with the last all com OK as in anchieri9.txt that I have attached.

I will test this version other many time, also with the M: drive that has 500GB in JFS mode and if I find out other problem I open another bug report, For now you can close this bug report with all ok.

Changed 11 years ago by Anchieri

Attachment: anchieri9.txt added

comment:22 Changed 11 years ago by Lars Erdmann

Looks like your USB HW cannot handle the high interrupt rate of 128 microseconds with /S:1 (which is the default). The solution for you is to stick to /S:8.

If you don't mind I would like to test yet another version as there are still issues with chkdsk and device attach.

comment:23 Changed 11 years ago by Lars Erdmann

By the way: what CPU do you have ? Dual core ? What's the CPU frequency ?

comment:24 Changed 11 years ago by Anchieri

MY CPU IS: ASUS P5LD2-X/1333 MOTHERBOARD with Intel Core 2 DUO with 3GB of RAM. Intel 945 family +ICH7 - 2,33 GHz, 4MB L2 cache 1333 MHz FSB

For more information on this CPU view the image: CPUASUS.jpg that I have attached.

Changed 11 years ago by Anchieri

Attachment: CPUASUS-1.jpg added

Changed 11 years ago by Anchieri

Attachment: CPUASUS2.jpg added

comment:25 Changed 11 years ago by Lars Erdmann

Resolution: fixed
Status: newclosed

Fixed by adding /S:8 switch and additional changes to USBEHCD.SYS.

Note: See TracTickets for help on using tickets.