Re: TFAT issue

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



On 9 Feb, 21:30, "Michel Verhagen (eMVP)" <mic...@xxxxxxxxxx> wrote:
Build a debug image and when writing a file on the partition that should
be TFAT, look for the TFAT debug messages.

Good luck,

Michel Verhagen, eMVP
Check out my blog:http://GuruCE.com/blog

  GuruCE
 http://GuruCE.com
  Consultancy, training and development services.



igor.ferr...@xxxxxxxxx wrote:
On 8 Feb, 09:27, igor.ferr...@xxxxxxxxx wrote:
On 7 Feb, 17:13, igor.ferr...@xxxxxxxxx wrote:

On 7 Feb, 15:58, Valter Minute <v_a_l_t_e_r.m_i_n_u_t_e@xxxxxxxxxxxxx>
wrote:
igor.ferr...@xxxxxxxxx wrote innews:d95552ec-33c3-4e44-9349-e79d6dc26b5f@xxxxxxxxxxxxxxxxxxxxxxxxxxx
m:
[...]
My idea is to load the bootloader, the nk.bin and some apps on the
firstpartition(formatted as FAT).
On the secondpartition(formatted/forced as TFAT to avoid file
system corruption) I could copy/write the files that are created
by the apps. Can I do it?
Yes. It's not such a strange setup.
You can also mount the firstpartitionas hidden, to avoid
"accidental" damage by the user.
You should try toformatthe second partion from control panel in a
debug image and check if debug output may provide some more useful
hint about the cause of the failre.
--
Valter Minutewww.fortechembeddedlabs.it
Training, support and development for Windows CE
(the reply address of this message is invalid)
OK!
I'll try to find the problem using the debug image.
Igor- Nascondi testo tra virgolette -
- Mostra testo tra virgolette -
Hi,
Yesterday I used the debug image and I got this message when I opened
the control panel applet of the storage manager:

x8f030a28: Got NM_CLICK
0x8f030a28: Got NM_DBLCLICK
0x8f030a28: in RunApplet: '\Windows\stguil.cpl,0'
0x8efb2660: InitSharedHeap: 50000000 0 c
0x8efb2660:   InitSharedHeap: return 50000060
0x8efb2660: AddToProcessInputLocaleTable: Added process to
ProcessInputLocale table, hProcess = 0xAEFB252A0x8f030a28:
[DXPROSAVAGE] Line:
0x8f030a28: [DXPROSAVAGE] Line:
0x8efb2b10: CTLPNL: cmdline=\Windows\stguil.cpl,0
0x8efb2b10: --->>>CTLPNL: CPL='\Windows\stguil.cpl' icon=0 tab=0
0x8efb2b10: Grow Gdi handle table from 576 to 640
0x8efb2b10: [DXPROSAVAGE] ProsavageSurf:
0x8efb2b10: [DXPROSAVAGE] BltPrepare: AcceleratedImageSrcCopyBlt
0x8efb2b10: Grow Gdi handle table from 640 to 704
0x8efb2b10: IDE Hard Disk Drive0x8efb2b10: IDE Hard Disk
Drive0x8efb2b10: DlgMgr: FindDlgItem id 1 returning NULL.
0x8efb2b10: DlgMgr: FindDlgItem id 1 returning NULL.
0x8efb2b10: [DXPROSAVAGE] Line:
0x8efb2b10: [DXPROSAVAGE] Line:
0x8efb2b10: [DXPROSAVAGE] Line:
0x8efb2b10: [DXPROSAVAGE] Line:
0x8efb2b10: [DXPROSAVAGE] Line:
0x8efb2b10: [DXPROSAVAGE] Line:
0x8efb2b10: [DXPROSAVAGE] Line:

There is another thing: if I access from Storage Manager in Control
Panel, selecting the second partition and clicking on "Properties", I
find that the "Format" buttons, the "Install" buttons etc. are
disabled !
Only the "uninstall" button is enabled.

Any ideas? Are there any registry entries to modify?

Igor- Nascondi testo tra virgolette -

- Mostra testo tra virgolette -

Sorry! I have made a bad mistake!
Only the "uninstall" button is enabled because the second partition is
already formatted!
After I have uninstalled the second partition, I have formatted it as
TFAT.

Last question: now the system is ok. How can I check if the "TFAT
driver" works properly?

Thanks a lot,

Igor- Nascondi testo tra virgolette -

- Mostra testo tra virgolette -

Hi Michel,
When the OS boots up, I can see this:

0x8f7ce800: FATFS!InitVolume: FAT version: 16
0x8f7ce800: FATFS!InitVolume: Cluster Size (Sectors): 16
0x8f7ce800: FATFS!InitVolume: TFAT enabled: TRUE
0x8f7ce800: ATAPI:DSK_IOControl request Handle = 002FE0D0 dwCode=2
0x8f7ce800: Enter ioctl 00000002



When I copy a file on the TFAT partition I don't see anything about
TFAT.
I see a lot of messages like these:


0x8ec35b28: [DXPROSAVAGE] Line:
0x8ec35b28: [DXPROSAVAGE] Line:
0x8ec35b28: [DXPROSAVAGE] Line:
0x8ec35b28: [DXPROSAVAGE] Line:
0x8ec35b28: [DXPROSAVAGE] Line:
0x8ec35b28: [DXPROSAVAGE] Line:
0x8ec35b28: [DXPROSAVAGE] Line:
0x8ec35b28: [DXPROSAVAGE] Line:
0x8f238e20: [DXPROSAVAGE] BltPrepare: AcceleratedImageSrcCopyBlt
0x8f238e20: [DXPROSAVAGE] BltPrepare: AcceleratedImageSrcCopyBlt
0x8f238e20: [DXPROSAVAGE] BltPrepare: AcceleratedImageSrcCopyBlt
0x8f238e20: [DXPROSAVAGE] BltPrepare: AcceleratedImageSrcCopyBlt
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=2
0x8ef7eb2c: Enter ioctl 00000002
0x8ef7eb2c: ATAPI:PerformIoctl: 2 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_READ
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263152 SectorsLeft 1 Command
20
0x8ef7eb2c: Exit ioctl 00000002
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=2
0x8ef7eb2c: Enter ioctl 00000002
0x8ef7eb2c: ATAPI:PerformIoctl: 2 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_READ
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263564 SectorsLeft 10 Command
20
0x8ef7eb2c: Exit ioctl 00000002
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263580 SectorsLeft 10 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263334 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263580 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263334 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263334 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263335 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263335 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263336 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263336 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263337 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263337 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263338 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263338 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263339 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263339 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263340 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263340 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263341 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263341 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263342 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263342 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8f5dc800: FATFS!FAT_CreateFileW(\desktop.ini) returned 0x0 (2)
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263343 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263343 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263344 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263344 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
0x8ef7eb2c: ATAPI:DSK_IOControl request Handle = 00300160 dwCode=3
0x8ef7eb2c: Enter ioctl 00000003
0x8ef7eb2c: ATAPI:PerformIoctl: 3 DeviceId: 2
0x8ef7eb2c: ATAPI:PerformIoctl: IOCTL_DISK_WRITE
0x8ef7eb2c: Atapi!CDisk::ReadWriteDisk> Allocating double buffer
[first use]
0x8ef7eb2c: ATAPI:SendIOCommand - Sector 263345 SectorsLeft 1 Command
30
0x8ef7eb2c: Exit ioctl 00000003
......
......
......

Maybe, Have I forgotten something? :(

Igor
.



Relevant Pages

  • Re: TFAT issue
    ... be TFAT, look for the TFAT debug messages. ... 0x8f7ce800: Enter ioctl 00000002 ... 0x8ef7eb2c: Exit ioctl 00000002 ...
    (microsoft.public.windowsce.platbuilder)
  • Re: TFAT issue
    ... there is a separate TFAT debug zone. ... 0x8f7ce800: Enter ioctl 00000002 ... 0x8ef7eb2c: Exit ioctl 00000002 ...
    (microsoft.public.windowsce.platbuilder)
  • RE: Unrecognized IOCTL (0x71c54) in FMD driver from TFAT
    ... Because TFAT requires that all data be committed at certain times in order ... have any type of built-in caching, then you can safely ignore the IOCTL. ... Unrecognized IOCTL in FMD driver from TFAT ...
    (microsoft.public.windowsce.platbuilder)
  • Re: ioctl call fails with unknown command
    ... message: unknown command fd. ... call is not invoking my driver ioctal method because the debug message ... inside my ioctl method never get printed out. ...
    (comp.os.linux.development.system)