Skip to main content

Magibook VTech Explor@ Park under Linux with Wine

7 min read

Download the Explor@ Park exe file from the official website

Run the installer with wine

I got this error:

00c0:err:module:open_builtin_file failed to load .so lib "/usr/lib32/wine/wldap32.dll.so" 
00c0:err:module:import_dll Loading library WLDAP32.dll (which is needed by L"C:\\users\\cedric\\Temp\\qt_temp.XRUs3219097\\SetupLoader.exe") failed (error c000007a).
00c0:err:module:LdrInitializeThunk Importing dlls for L"C:\\users\\cedric\\Temp\\qt_temp.XRUs3219097\\SetupLoader.exe" failed, status c0000135

Turns out I needed to upgrade wine and install lib32-libldap.

App is installed correctly and run, but fails to connect to the MagiBook through USB despites it being detected by lsusb.

Bus 001 Device 033: ID 0f88:1785 VTech Holdings, Ltd LeapStart

At this point the battery died on me and I had to wait for the battery to charge again.

Reading the User's Manual under section 4.3.1 Serial and Parallel Ports gives this hint :

ls -l ~/.wine/dosdevices/ 
total 0
lrwxrwxrwx 1 cedric cedric 10 12 jan 2020 c: -> ../drive_c
lrwxrwxrwx 1 cedric cedric 10 10 sep 09:50 com1 -> /dev/ttyS0
lrwxrwxrwx 1 cedric cedric 10 10 sep 09:50 com2 -> /dev/ttyS1
lrwxrwxrwx 1 cedric cedric 10 10 sep 09:50 com3 -> /dev/ttyS2
lrwxrwxrwx 1 cedric cedric 10 10 sep 09:50 com4 -> /dev/ttyS3
lrwxrwxrwx 1 cedric cedric 8 12 jan 2020 d:: -> /dev/sda
lrwxrwxrwx 1 cedric cedric 1 12 jan 2020 z: -> /

Now I guess all I have to do is figure out which TTY is being used by the USB connection and make a symlink accordingly. Since folders up to com4 already exists I guess I can create a com5 folder for that.

usb-devices

(...)

T:  Bus=01 Lev=01 Prnt=01 Port=08 Cnt=04 Dev#= 33 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 =  1
P:  Vendor=0f88 ProdID=1785 Rev=01.00
S:  Manufacturer=LeapFrog Enterprises, Inc.
S:  Product=LeapStart
C:  = 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I:  If#=0x0 Alt= 0 = 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

At this point I realize the MagiBook is considered as a mass-storage and is not mounted on my system yet, maybe I need to fix that first.

(to be continued)

(later)

Batteries are charged, I plug it back in and run dmesg just right after, this does not look good :

[12642.953280] usb 1-9: New USB device found, idVendor=0f88, idProduct=1785, bcdDevice= 1.00
[12642.953281] usb 1-9: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[12642.953282] usb 1-9: Product: LeapStart
[12642.953283] usb 1-9: Manufacturer: LeapFrog Enterprises, Inc.
[12642.954172] usb-storage 1-9:1.0: USB Mass Storage device detected
[12642.954261] scsi host0: usb-storage 1-9:1.0
[12644.023007] scsi 0:0:0:0: Direct-Access     Leapfrog LeapStart        0100 PQ: 0 ANSI: 2
[12644.023364] sd 0:0:0:0: [sda] 415744 512-byte logical blocks: (213 MB/203 MiB)
[12644.023496] sd 0:0:0:0: [sda] Write Protect is off
[12644.023498] sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
[12644.023628] sd 0:0:0:0: [sda] No Caching mode page found
[12644.023629] sd 0:0:0:0: [sda] Assuming drive cache: write through
[12644.053663] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[12644.053665] sd 0:0:0:0: [sda] tag#0 Sense Key : Illegal Request [current]
[12644.053666] sd 0:0:0:0: [sda] tag#0 Add. Sense: Logical block address out of range
[12644.053667] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[12644.053668] blk_update_request: critical target error, dev sda, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[12644.053670] Buffer I/O error on dev sda, logical block 0, async page read
[12644.054004] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[12644.054005] sd 0:0:0:0: [sda] tag#0 Sense Key : Illegal Request [current]
[12644.054006] sd 0:0:0:0: [sda] tag#0 Add. Sense: Logical block address out of range
[12644.054007] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[12644.054008] blk_update_request: critical target error, dev sda, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[12644.054008] Buffer I/O error on dev sda, logical block 0, async page read
[12644.054012] ldm_validate_partition_table(): Disk read failed.
[12644.054352] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[12644.054353] sd 0:0:0:0: [sda] tag#0 Sense Key : Illegal Request [current]
[12644.054353] sd 0:0:0:0: [sda] tag#0 Add. Sense: Logical block address out of range
[12644.054354] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[12644.054355] blk_update_request: critical target error, dev sda, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[12644.054356] Buffer I/O error on dev sda, logical block 0, async page read
[12644.054680] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[12644.054681] sd 0:0:0:0: [sda] tag#0 Sense Key : Illegal Request [current]
[12644.054682] sd 0:0:0:0: [sda] tag#0 Add. Sense: Logical block address out of range
[12644.054682] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[12644.054683] blk_update_request: critical target error, dev sda, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[12644.054684] Buffer I/O error on dev sda, logical block 0, async page read
[12644.055036] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[12644.055037] sd 0:0:0:0: [sda] tag#0 Sense Key : Illegal Request [current]
[12644.055038] sd 0:0:0:0: [sda] tag#0 Add. Sense: Logical block address out of range
[12644.055039] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[12644.055041] blk_update_request: critical target error, dev sda, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[12644.055042] Buffer I/O error on dev sda, logical block 0, async page read
[12644.055045]  sda: unable to read partition table
[12644.055682] sd 0:0:0:0: [sda] Attached SCSI disk
[12644.060462] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[12644.060463] sd 0:0:0:0: [sda] tag#0 Sense Key : Illegal Request [current]
[12644.060464] sd 0:0:0:0: [sda] tag#0 Add. Sense: Logical block address out of range
[12644.060465] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 06 57 80 00 00 08 00
[12644.060466] blk_update_request: critical target error, dev sda, sector 415616 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[12644.060810] sd 0:0:0:0: [sda] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=0s
[12644.060812] sd 0:0:0:0: [sda] tag#0 Sense Key : Illegal Request [current]
[12644.060813] sd 0:0:0:0: [sda] tag#0 Add. Sense: Logical block address out of range
[12644.060814] sd 0:0:0:0: [sda] tag#0 CDB: Read(10) 28 00 00 06 57 80 00 00 08 00
[12644.060815] blk_update_request: critical target error, dev sda, sector 415616 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[12644.060816] Buffer I/O error on dev sda, logical block 51952, async page read