http://bugs.winehq.org/show_bug.cgi?id=15661
Summary: cardtricks141.exe can't format SD Memory Card Product: Wine Version: 1.1.4 Platform: PC URL: http://www.zshare.net/download/2014475990be7613/ OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: guy.roussin@teledetection.fr
Hi,
cardtricks141.exe can't format the SD Memory Card. It says "Could not write to the Card ! Please check write protect tab." But the card is not write protect with tab. mount gives this : /dev/sdb1 on /media/CANON_DC type vfat (rw,nosuid,nodev,uhelper=hal,shortname=lower,uid=1002) and i can touch/remove files from the card ...
Thank you,
Guy
Note: This tools is useful to prepare a SD Memory Card for "CHDK firmware" addon on CANON camera. Others options of cardtricks41.exe run fine.
http://bugs.winehq.org/show_bug.cgi?id=15661
--- Comment #1 from Vitaliy Margolen vitaliy@kievinfo.com 2008-10-18 14:07:31 --- Do you have R/W access to /dev/sdb1? Have you mapped /media/CANON_DC to a drive in winecfg?
http://bugs.winehq.org/show_bug.cgi?id=15661
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, hardware
http://bugs.winehq.org/show_bug.cgi?id=15661
--- Comment #2 from Guy Roussin guy.roussin@teledetection.fr 2008-10-18 18:39:33 --- (In reply to comment #1)
Do you have R/W access to /dev/sdb1? Have you mapped /media/CANON_DC to a drive in winecfg?
yes, i have R/W access to /dev/sdb1 :
$ ls -alrt /dev/sdb1 brw-rw---- 1 root floppy 8, 17 oct 19 01:28 /dev/sdb1
$ grep floppy /etc/group floppy:x:25:localu,guy
$ cd ~/.wine/dosdevices $ ls -la total 8 drwxr-xr-x 2 guy lct 4096 oct 18 17:08 . drwxr-xr-x 4 guy lct 4096 oct 18 17:53 .. lrwxrwxrwx 1 guy lct 10 sep 25 23:31 c: -> ../drive_c lrwxrwxrwx 1 guy lct 15 oct 18 17:08 d: -> /media/CANON_DC lrwxrwxrwx 1 guy lct 9 oct 17 20:56 d:: -> /dev/sdb1 lrwxrwxrwx 1 guy lct 8 oct 18 16:21 e:: -> /dev/hda lrwxrwxrwx 1 guy lct 1 sep 25 23:31 z: -> /
With winecfg the drive is assigned to floppy, if i change to hardrive, then cardtricks refuse to format this "harddrive" : "Only removable or unknown (and fixed if selected) drive types will be formatted"
Thank you,
Guy
http://bugs.winehq.org/show_bug.cgi?id=15661
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adys.wh@gmail.com
--- Comment #3 from Jerome Leclanche adys.wh@gmail.com 2010-05-08 09:30:56 --- Is this still happening in wine-1.1.44?
http://bugs.winehq.org/show_bug.cgi?id=15661
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com
--- Comment #4 from Bruno Jesus 00cpxxx@gmail.com 2011-09-05 19:11:51 CDT --- I cannot select the mapped drive in the program. It says only "Removable" or "Unknown" disks will be selected. Using winecfg I can't configure a disk as removable...
Can anyone retest? Maybe I'm doing something wrong.
New download link: http://savedonthe.net/download/30/CardTricks141.zip
http://bugs.winehq.org/show_bug.cgi?id=15661
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW URL|http://www.zshare.net/downl |http://savedonthe.net/downl |oad/2014475990be7613/ |oad/30/CardTricks141.zip Ever Confirmed|0 |1
--- Comment #5 from Bruno Jesus 00cpxxx@gmail.com 2011-10-04 20:13:30 CDT --- ls ~/.wine/dosdevices
lrwxrwxrwx 1 winefree winefree 10 Oct 2 15:04 c: -> ../drive_c lrwxrwxrwx 1 winefree winefree 9 Oct 2 15:04 d:: -> /dev/sdb1 lrwxrwxrwx 1 winefree winefree 1 Oct 2 15:04 z: -> /
Maybe related to fixme:ntdll:server_ioctl_file Unsupported ioctl 24000 (device=2 access=1 func=0 method=0)
https://bugs.winehq.org/show_bug.cgi?id=15661
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |programs Summary|cardtricks141.exe can't |CardTricks141.exe can't |format SD Memory Card |format SD Memory Card | |(needs 'format.com' | |utility)
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming, still present.
First you need to make sure that the 'Allow Fixed Disks' option is selected in lower right group box since Wine isn't reporting this as 'removable' (bug 16091).
The executable is an AutoIT/AutoHotKey script compiled to native code and finally packed with UPX.
--- snip --- Unpacking: z:\home\focht\Downloads\CardTricks141.exe Script Type 3.2.5+ found. AlternativeSigScan for 'FILE'-signature in au3-body... Scanning for FILE-(old)signature: FF 6D B0 CE ...not found. Scanning for FILE-(new)signature: 6B 43 CA 52 0007C256 -> SrcFile_FileInst: >>>AUTOIT SCRIPT<<< Seeking back to script start position... AU3_Signature: A3 48 4B BE 98 6C 4A A9 99 4C 53 0A 86 D6 48 7D ---> ScriptStartOffset: 0007C200 EndOf_PE-ExeFile : 0007C200 Extracting ExeIcon/s to: "z:\home\focht\Downloads\CardTricks141.ico" 0007C214 -> SubType: 0x41 AU3! ~ Note: The following offset values are were the data ends (and not were it starts) ~ 0007C218 -> New tokenised AutoIt script found. Script is password protected! ... --- snip ---
Unwrapping and decompiling gives some hints (besides looking at Wine trace log):
--- snip --- If $redraw < 2 Then GUICtrlSetState($mbut_form_fat, $GUI_DISABLE) Do $card_drive = FileSelectFolder( "Select your SD Card drive - Please note that only 'Removable' or" & @CRLF & _ "'Unknown' (and 'Fixed' if selected) drive types will be" & @CRLF & _ "accepted; select Cancel if no drive selectable.", _ "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", 2, "", $cardmenu ) If $card_drive = "" Then ExitLoop $card_drive = StringLeft($card_drive, 3) ; ignore selected subdir Switch DriveGetType($card_drive) Case "Removable", "Unknown" $acceptable = True Case "Fixed" If IsChecked($chk_fix_disk) Then $acceptable = True Else $acceptable = False EndIf Case Else $acceptable = False EndSwitch Until ( StringInStr($illegal, StringLeft($card_drive, 1)) = 0 ) And $acceptable EndIf --- snip ---
Nothing to see here, just plain 'DriveGetType' AutoIt script function call which maps to 'GetDriveTypeW' API.
Anyway, media is properly recognized if pre-formatted as FAT and mapped to driver letter within Wine.
The problem is this:
--- snip --- 0023:Call KERNEL32.CreateProcessW(00000000,0089cf10 L"C:\windows\system32\cmd.exe /c echo | format F: /FS:FAT /V:CANON_DC /X",00000000,00000000,00000000,00000000,00000000,0089af10 L"Z:\home\focht\Downloads",0089aec8,0089ae8c) ret=00431f7b ... 002c:Call KERNEL32.__wine_kernel_init() ret=7bc5a4b2 0023:Ret KERNEL32.CreateProcessW() retval=00000001 ret=00431f7b ... Can't recognize 'format F: /FS:FAT /V:CANON_DC /X' as an internal or external command, or batch script. --- snip ---
Format part of AutoIT script:
--- snip --- ; check for photo/video on card If DosExec("dir " & $drive & "*.JPG /S") = 0 Then $warn &= " JPG" If DosExec("dir " & $drive & "*.CRW /S") = 0 Then $warn &= " CRW" If DosExec("dir " & $drive & "*.AVI /S") = 0 Then $warn &= " AVI" If $warn <> "" Then $warn = "Attention! Card " & $drive & " contains:" & $warn & @CRLF & @CRLF
If ( $warn <> "" ) Or ( Not IsChecked($chk_stop_info) ) Then $ret = MsgBox(1,"Warning", $warn & _ "Formatting will DESTROY ALL DATA on card " & $drive & @CRLF & @CRLF & _ "Are you sure you want to continue ?" ) If $ret = 2 Then Return 0 EndIf If DriveSpaceTotal($drive) > 4096 Then $type = " as FAT32" $cmd = " /FS:FAT32" $label = "" If Not IsChecked($chk_stop_info) Then MsgBox(0, "Warning", _ "Your card needs to be formatted with the FAT32" & @CRLF & _ "file system. CHDK can not start from this card," & @CRLF & _ "and 'CHDK->Card' option has been disabled." ) EndIf Else If DriveSpaceTotal($drive) > 2048 Then If Not IsChecked($chk_stop_info) Then MsgBox(0, "Warning", _ "Your card needs to be FAT formatted with (non-standard)" & @CRLF & _ "64 KB clusters, for maximum camera compatibility try" & @CRLF & _ "using a smaller (max. 2 GB) card." ) EndIf EndIf $type = " as FAT16" $cmd = " /FS:FAT" EndIf SplashTextOn("", "Formatting Card " & $drive & $type & " ...", 250, 40, $wpos[0] + R(275) - 125, $wpos[1] + R(160) - 20, 33) $ret = DosExec("echo | format " & StringLeft($drive, 2) & $cmd & " /V:" & $label & " /X") SplashOff() If $ret <> 0 Then CardWriteError() Return 0 Else If $label = "CANON_DC" Then FileWrite($drive & "ver.req", "") Return 2 EndIf --- snip ---
All "CANON cam" preparation steps happening after formatting can be extracted from the AutoIT decompiled script but that's more or less boring stuff.
There is also a hint at the website: http://chdk.wikia.com/wiki/CardTricks
--- quote --- WARNING : The CardTricks utility is obsolete. It may not correctly install the current version of CHDK. It is also not recommended use with cameras released after 2010 or with SD cards bigger than 4Gb. The most recent documentation about SD card preparation for use with CHDK can always be found at this link> Prepare Your SD Card --- quote ---
This is already flagged as abandonware.
$ sha1sum CardTricks141.zip 697863901fc571d90527eed8df4291f7507d20ef CardTricks141.zip
$ du -sh CardTricks141.zip 424K CardTricks141.zip
$ wine --version wine-1.7.19-56-gee13e10
Regards
https://bugs.winehq.org/show_bug.cgi?id=15661
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=15661
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://savedonthe.net/downl |https://archive.org/downloa |oad/30/CardTricks141.zip |d/cardtricks141/CardTricks1 | |41.zip
--- Comment #7 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
I've created a snapshot of the tool here:
https://archive.org/download/cardtricks141/CardTricks141.zip
I had to manually download and re-upload as Internet Archive can't cope with PHP scripts and file attachments/content-disposition.
$ wine --version wine-5.5-373-g38e95ed222
Regards