Uniden sentinel revisited

Questions about Wine on Linux
Post Reply
gariac
Level 2
Level 2
Posts: 20
Joined: Wed Apr 16, 2008 4:31 pm

Uniden sentinel revisited

Post by gariac » Tue Apr 27, 2021 8:36 pm

Time marches on...software gets better. I figured I would dust off the problem of running Uniden Sentinel software on Opensuse, now on Leap 15.2.

The usual info:
wine --version
wine-6.7

uname -a
5.3.18-lp152.72-default #1 SMP Wed Apr 14 10:13:15 UTC 2021 (013936d) x86_64 x86_64 x86_64 GNU/Linux

The software is used to program a radio scanner. The scanner is connected via USB. It is designed to look like a SD card. While I would still run windows to flash the firmware, I would like to run wine to program the SD card which is a far less risky adventure. (I can pull the card and dupe it for safety.) The problem is the Uniden software does not see the SD card.

Trawling the internet, someone used winecfg to map the D drive to the SD card and claimed to get it to work. Well that is simple enough so I did the same thing. There is some nuance to this. When I first plug in the scanner and instruct it to be a SD card, Dolphin pops up. If I click on it the drive is found. I can browse the files on it. Then in .wine dosdevices, the D drive can be seen to be mapped to the SD card in the scanner. I can browse files from a terminal with command line interface. So you would think the SD card could be seen by the software. Note the nuance here is if I don't promptly run Dolphin the SD card will not be visible in the .wine dosdevices directory.

In order to get around this wine prefix selection issue I believe I have only installed 32 bit wine. I have no 64 bit code. I run another 32 bit windows program without issue.

I have attempted to document as much as I know how. Here goes.

Dmesg:

Code: Select all

dmesg output:

[  305.496062] usb 2-2: new full-speed USB device number 6 using xhci_hcd
[  305.669625] usb 2-2: New USB device found, idVendor=1965, idProduct=001c, bcdDevice= 1.00
[  305.669629] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[  305.669632] usb 2-2: Product: BCD436HP
[  305.669634] usb 2-2: Manufacturer: UNIDEN AMERICA CORP.
[  305.669636] usb 2-2: SerialNumber: 0000000000001
[  305.707905] usb-storage 2-2:1.0: USB Mass Storage device detected
[  305.708069] scsi host0: usb-storage 2-2:1.0
[  305.708193] usbcore: registered new interface driver usb-storage
[  305.710922] usbcore: registered new interface driver uas
[  306.738411] scsi 0:0:0:0: Direct-Access     Uniden   BCD436HP         1.00 PQ: 0 ANSI: 0 CCS
[  306.738752] sd 0:0:0:0: Attached scsi generic sg0 type 0
[  306.739396] sd 0:0:0:0: [sda] 62552064 512-byte logical blocks: (32.0 GB/29.8 GiB)
[  306.740626] sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
[  306.742609] sd 0:0:0:0: [sda] Cache data unavailable
[  306.742612] sd 0:0:0:0: [sda] Assuming drive cache: write through
[  306.780995]  sda: sda1
[  306.785599] sd 0:0:0:0: [sda] Attached SCSI removable disk
lsusb:

Code: Select all

lsusb:
Bus 002 Device 006: ID 1965:001c Uniden Corporation

Bus 002 Device 006: ID 1965:001c Uniden Corporation 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1965 Uniden Corporation
  idProduct          0x001c 
  bcdDevice            1.00
  iManufacturer           1 UNIDEN AMERICA CORP.   
  iProduct                2 BCD436HP
  iSerial                 6 0000000000001
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 Full-Speed
    bmAttributes         0xc0
      Self Powered
    MaxPower               10mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      5 SFF-8070i
      bInterfaceProtocol     80 
      iInterface              3 Removable Drive
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered
Note on journalctl you can see the scanner appears as sda1

Code: Select all

journalctl:

Apr 27 15:16:50 linux-yxjo kernel: usb 2-2: new full-speed USB device number 6 using xhci_hcd
Apr 27 15:16:50 linux-yxjo kernel: usb 2-2: New USB device found, idVendor=1965, idProduct=001c, bcdDevice= 1.00
Apr 27 15:16:50 linux-yxjo kernel: usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=6
Apr 27 15:16:50 linux-yxjo kernel: usb 2-2: Product: BCD436HP
Apr 27 15:16:50 linux-yxjo kernel: usb 2-2: Manufacturer: UNIDEN AMERICA CORP.   
Apr 27 15:16:50 linux-yxjo kernel: usb 2-2: SerialNumber: 0000000000001
Apr 27 15:16:50 linux-yxjo mtp-probe[4073]: checking bus 2, device 6: "/sys/devices/pci0000:00/0000:00:08.1/0000:07:00.3/usb2/2-2"
Apr 27 15:16:50 linux-yxjo mtp-probe[4073]: bus: 2, device: 6 was not an MTP device
Apr 27 15:16:50 linux-yxjo kernel: usb-storage 2-2:1.0: USB Mass Storage device detected
Apr 27 15:16:50 linux-yxjo kernel: scsi host0: usb-storage 2-2:1.0
Apr 27 15:16:50 linux-yxjo kernel: usbcore: registered new interface driver usb-storage
Apr 27 15:16:50 linux-yxjo kernel: usbcore: registered new interface driver uas
Apr 27 15:16:51 linux-yxjo kernel: scsi 0:0:0:0: Direct-Access     Uniden   BCD436HP         1.00 PQ: 0 ANSI: 0 CCS
Apr 27 15:16:51 linux-yxjo kernel: sd 0:0:0:0: Attached scsi generic sg0 type 0
Apr 27 15:16:51 linux-yxjo kernel: sd 0:0:0:0: [sda] 62552064 512-byte logical blocks: (32.0 GB/29.8 GiB)
Apr 27 15:16:51 linux-yxjo kernel: sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
Apr 27 15:16:51 linux-yxjo kernel: sd 0:0:0:0: [sda] Cache data unavailable
Apr 27 15:16:51 linux-yxjo kernel: sd 0:0:0:0: [sda] Assuming drive cache: write through
Apr 27 15:16:51 linux-yxjo kernel:  sda: sda1
Apr 27 15:16:51 linux-yxjo kernel: sd 0:0:0:0: [sda] Attached SCSI removable disk
Now at this point I have not run Dolphin. The following shows a mapping of the D drive to the SD card but it isn't readable.

Code: Select all

A check of the drives on .wine. Note here that no device is shown with the current date.:

mrg@linux-yxjo:~/.wine/dosdevices> date
Tue Apr 27 16:13:15 PDT 2021
mrg@linux-yxjo:~/.wine/dosdevices> ls -l
total 0
lrwxrwxrwx 1 mrg users 10 Apr 15  2020 c: -> ../drive_c
lrwxrwxrwx 1 mrg users 10 Apr 27 04:03 com1 -> /dev/ttyS0
lrwxrwxrwx 1 mrg users 10 Apr 27 04:03 com10 -> /dev/ttyS9
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com11 -> /dev/ttyS10
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com12 -> /dev/ttyS11
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com13 -> /dev/ttyS12
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com14 -> /dev/ttyS13
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com15 -> /dev/ttyS14
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com16 -> /dev/ttyS15
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com17 -> /dev/ttyS16
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com18 -> /dev/ttyS17
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com19 -> /dev/ttyS18
lrwxrwxrwx 1 mrg users 10 Apr 27 04:03 com2 -> /dev/ttyS1
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com20 -> /dev/ttyS19
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com21 -> /dev/ttyS20
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com22 -> /dev/ttyS21
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com23 -> /dev/ttyS22
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com24 -> /dev/ttyS23
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com25 -> /dev/ttyS24
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com26 -> /dev/ttyS25
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com27 -> /dev/ttyS26
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com28 -> /dev/ttyS27
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com29 -> /dev/ttyS28
lrwxrwxrwx 1 mrg users 10 Apr 27 04:03 com3 -> /dev/ttyS2
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com30 -> /dev/ttyS29
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com31 -> /dev/ttyS30
lrwxrwxrwx 1 mrg users 11 Apr 27 04:03 com32 -> /dev/ttyS31
lrwxrwxrwx 1 mrg users 12 Apr 27 04:03 com33 -> /dev/ttyUSB0
lrwxrwxrwx 1 mrg users 12 Apr 27 04:03 com34 -> /dev/ttyUSB1
lrwxrwxrwx 1 mrg users 12 Apr 27 04:03 com35 -> /dev/ttyUSB2
lrwxrwxrwx 1 mrg users 12 Apr 27 04:03 com36 -> /dev/ttyUSB3
lrwxrwxrwx 1 mrg users 10 Apr 27 04:03 com4 -> /dev/ttyS3
lrwxrwxrwx 1 mrg users 10 Apr 27 04:03 com5 -> /dev/ttyS4
lrwxrwxrwx 1 mrg users 10 Apr 27 04:03 com6 -> /dev/ttyS5
lrwxrwxrwx 1 mrg users 10 Apr 27 04:03 com7 -> /dev/ttyS6
lrwxrwxrwx 1 mrg users 10 Apr 27 04:03 com8 -> /dev/ttyS7
lrwxrwxrwx 1 mrg users 10 Apr 27 04:03 com9 -> /dev/ttyS8
lrwxrwxrwx 1 mrg users 25 Apr 26 18:05 d: -> /run/media/mrg/2C9A-1B21/
lrwxrwxrwx 1 mrg users 34 Apr 26 18:07 e: -> /run/media/mrg/2C9A-1B21/BCDx36HP/
lrwxrwxrwx 1 mrg users  9 Apr 16  2020 f:: -> /dev/sda1
lrwxrwxrwx 1 mrg users  8 Apr 17  2020 g:: -> /dev/sdc
lrwxrwxrwx 1 mrg users  9 Apr 17  2020 h: -> /home/mrg
lrwxrwxrwx 1 mrg users  8 May 12  2020 i:: -> /dev/sr0
lrwxrwxrwx 1 mrg users  8 Dec 25 01:26 j:: -> /dev/sdd
lrwxrwxrwx 1 mrg users  9 Dec 25 01:26 k:: -> /dev/sdd1
lrwxrwxrwx 1 mrg users  9 Dec 25 01:26 l:: -> /dev/sdc1
lrwxrwxrwx 1 mrg users  8 Apr 27 04:03 lpt1 -> /dev/lp0
lrwxrwxrwx 1 mrg users  8 Apr 27 04:03 lpt2 -> /dev/lp1
lrwxrwxrwx 1 mrg users  8 Apr 27 04:03 lpt3 -> /dev/lp2
lrwxrwxrwx 1 mrg users  8 Apr 27 04:03 lpt4 -> /dev/lp3
lrwxrwxrwx 1 mrg users  9 Mar 13 21:45 m:: -> /dev/sdb1
lrwxrwxrwx 1 mrg users  8 Apr 26 17:37 n:: -> /dev/sda
lrwxrwxrwx 1 mrg users  8 Apr 27 04:04 o:: -> /dev/sdb
lrwxrwxrwx 1 mrg users  1 Apr 15  2020 z: -> /
mrg@linux-yxjo:~/.wine/dosdevices> 
I did a before and after running Dolphin with the df command. Note /dev/sda1 appears.

Code: Select all

Starting Dolphin to look at the sd card in the device causes it to show up when running df. A before and after follows. 

df before running dolphin:
Filesystem     1K-blocks      Used Available Use% Mounted on
devtmpfs        11201560         0  11201560   0% /dev
tmpfs           11215056         0  11215056   0% /dev/shm
tmpfs           11215056     10128  11204928   1% /run
tmpfs           11215056         0  11215056   0% /sys/fs/cgroup
/dev/nvme0n1p6  92366504  34986348  52645180  40% /
/dev/nvme0n1p7 791618744 554385028 196952016  74% /home
/dev/nvme0n1p1    262144     33480    228664  13% /boot/efi
tmpfs            2243008        28   2242980   1% /run/user/1000

df after running dolphin. Note /dev/sda1 shows up:
Filesystem     1K-blocks      Used Available Use% Mounted on
devtmpfs        11201560         0  11201560   0% /dev
tmpfs           11215056         0  11215056   0% /dev/shm
tmpfs           11215056     10136  11204920   1% /run
tmpfs           11215056         0  11215056   0% /sys/fs/cgroup
/dev/nvme0n1p6  92366504  34994460  52637068  40% /
/dev/nvme0n1p7 791618744 554385100 196951944  74% /home
/dev/nvme0n1p1    262144     33480    228664  13% /boot/efi
tmpfs            2243008        28   2242980   1% /run/user/1000
/dev/sda1       30683988   3657248  27026740  12% /run/media/mrg/2C9A-1B21
Before running Dolphin you couldn't do cd d:. The drive didn't exist. Here it is after running Dolphin:

Code: Select all

Now in .wine you can cd into the sd card:

mrg@linux-yxjo:~/.wine/dosdevices> cd d:
mrg@linux-yxjo:~/.wine/dosdevices/d:> ls
BCDx36HP  setup  System Volume Information
So at this point the SD card appears in the wine prefix. Looking at the winecfg the d drive is mapped. I execute the Uniden exe from a terminal so the error messages could be logged.

Code: Select all

wd
/home/mrg/.wine/drive_c/Program Files/Uniden/BCDx36HP Sentinel

invoking wine on commandline so the messages can be logged:

wine BCDx36HP_Sentinel.exe 
002c:err:winediag:WS_getaddrinfo Failed to resolve your host name IP
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0070:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0080:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0024:fixme:ntdll:EtwEventRegister ({319dc449-ada5-50f7-428e-957db6791668}, 10023720, 10070320, 10070338) stub.
0024:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 10001B7D, 28) stub
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0100:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:ntdll:EtwRegisterTraceGuidsW (79FD471E, 0022AFE0, {e13c0d23-ccbc-4e12-931b-d9cc2eee27e4}, 9, 7A390368, (null), (null), 7A38D250): stub
0024:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {044973cd-251f-4dff-a3e9-9d6307286b05}
0024:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {cfc4ba53-fb42-4757-8b70-5f5d51fee2f4}
0024:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {efdf1eac-1d5d-4e84-893a-19b80f692176}
0024:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {c71408de-42cc-4f81-9c93-b8912abf2a0f}
0024:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {840c8456-6457-4eb7-9cd0-d28f01c64f5e}
0024:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {c424b3e3-2ae0-416e-a039-410c5d8e5f14}
0024:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {300ce105-86d1-41f8-b9d2-83fcbff32d99}
0024:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {561410f5-a138-4ab3-945e-516483cddfbc}
0024:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {02d08a4f-fd01-4538-989b-03e437b950f4}
0108:err:ole:CoGetContextToken apartment not initialised
0024:fixme:path:parse_url failed to parse L"System.Windows.Forms"
0024:fixme:path:parse_url failed to parse L"System"
0024:fixme:path:parse_url failed to parse L"System.Drawing"
0024:fixme:path:parse_url failed to parse L"Accessibility"
0024:fixme:gdiplus:GdipGetFamilyName No support for handling of multiple languages!
0024:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0024:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0024:fixme:virtual:NtFlushProcessWriteBuffers stub
0024:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0024:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0024:fixme:path:parse_url failed to parse L"System.Configuration"
0024:fixme:path:parse_url failed to parse L"System.Xml"
0024:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0024:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0024:fixme:gdiplus:GdipCreateHalftonePalette stub
0024:fixme:olepicture:OLEPictureImpl_QueryInterface () : asking for unsupported interface {c3fcc19e-a970-11d2-8b5a-00a0c9b7c9c4}
0024:fixme:olepicture:OLEPictureImpl_QueryInterface () : asking for unsupported interface {b196b283-bab4-101a-b69c-00aa00341d07}
0024:fixme:olepicture:OLEPictureImpl_QueryInterface () : asking for unsupported interface {00000003-0000-0000-c000-000000000046}
0024:fixme:olepicture:OLEPictureImpl_QueryInterface () : asking for unsupported interface {00000144-0000-0000-c000-000000000046}
0024:fixme:msvcrt:__clean_type_info_names_internal (64222014) stub
0024:fixme:msvcrt:__clean_type_info_names_internal (60345090) stub
0024:fixme:msvcrt:__clean_type_info_names_internal (64208A74) stub
0024:fixme:msvcrt:__clean_type_info_names_internal (790AF2CC) stub
0024:fixme:msvcrt:__clean_type_info_names_internal (7A38D5C8) stub
0024:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
mrg@linux-yxjo:~/.wine/drive_c/Program Files/Uniden/BCDx36HP Sentinel> 00a8:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003
In the winecfg the d drive was on automatic detection. I forced it to be a local drive.

Code: Select all

The Uniden program runs normally other than it cannot find the SD card.

Using wineconfigure I change the D drive from autodetect to local drive.

wine BCDx36HP_Sentinel.exe 
0108:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0108:fixme:ntdll:EtwEventRegister ({319dc449-ada5-50f7-428e-957db6791668}, 10023720, 10070320, 10070338) stub.
0108:fixme:ntdll:EtwEventSetInformation (deadbeef, 2, 10001B7D, 28) stub
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0110:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:ntdll:EtwRegisterTraceGuidsW (79FD471E, 0022AFE0, {e13c0d23-ccbc-4e12-931b-d9cc2eee27e4}, 9, 7A390368, (null), (null), 7A38D250): stub
0108:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {044973cd-251f-4dff-a3e9-9d6307286b05}
0108:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {cfc4ba53-fb42-4757-8b70-5f5d51fee2f4}
0108:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {efdf1eac-1d5d-4e84-893a-19b80f692176}
0108:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {c71408de-42cc-4f81-9c93-b8912abf2a0f}
0108:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {840c8456-6457-4eb7-9cd0-d28f01c64f5e}
0108:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {c424b3e3-2ae0-416e-a039-410c5d8e5f14}
0108:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {300ce105-86d1-41f8-b9d2-83fcbff32d99}
0108:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {561410f5-a138-4ab3-945e-516483cddfbc}
0108:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {02d08a4f-fd01-4538-989b-03e437b950f4}
0118:err:ole:CoGetContextToken apartment not initialised
0108:fixme:path:parse_url failed to parse L"System.Windows.Forms"
0108:fixme:path:parse_url failed to parse L"System"
0108:fixme:path:parse_url failed to parse L"System.Drawing"
0108:fixme:path:parse_url failed to parse L"Accessibility"
0108:fixme:gdiplus:GdipGetFamilyName No support for handling of multiple languages!
0108:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0108:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0108:fixme:virtual:NtFlushProcessWriteBuffers stub
0108:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0108:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0108:fixme:path:parse_url failed to parse L"System.Configuration"
0108:fixme:path:parse_url failed to parse L"System.Xml"
0108:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0108:fixme:path:parse_url failed to parse L"BCDx36HP_Sentinel.resources"
0108:fixme:gdiplus:GdipCreateHalftonePalette stub
0108:fixme:msvcrt:__clean_type_info_names_internal (64222014) stub
0108:fixme:msvcrt:__clean_type_info_names_internal (60345090) stub
0108:fixme:msvcrt:__clean_type_info_names_internal (64208A74) stub
0108:fixme:msvcrt:__clean_type_info_names_internal (790AF2CC) stub
0108:fixme:msvcrt:__clean_type_info_names_internal (7A38D5C8) stub
0108:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
Attached is the gui showing the SD card is not found.
Attachments
card_not_found.png

andrew.smart
Level 2
Level 2
Posts: 33
Joined: Thu Dec 15, 2016 3:08 am

Re: Uniden sentinel revisited

Post by andrew.smart » Wed Apr 28, 2021 3:38 am

dolphin and other file managers call udisksctl to mount the SD card. You can do the same thing from the command line:

Code: Select all

$ udisksctl mount -b /dev/disk/by-label/2C9A-1B21
And unmount later:

Code: Select all

$ udisksctl unmount -b /dev/disk/by-label/2C9A-1B21
It might be /dev/disk/by-uuid/2C9A-1B21 instead, I don't recall.

Reference: https://unix.stackexchange.com/question ... ommandline

andrew.smart
Level 2
Level 2
Posts: 33
Joined: Thu Dec 15, 2016 3:08 am

Re: Uniden sentinel revisited

Post by andrew.smart » Wed Apr 28, 2021 7:24 am

I saw your earlier thread from 7 years ago: viewtopic.php?t=21069

And the thread where someone says it works (able to edit "favorites list") on both Linux and Mac: https://forums.radioreference.com/threa ... ks.384073/

I didn't find an AppDB entry for Uniden Sentinel: https://appdb.winehq.org/

I found an entry for Uniden Sentinel for the CodeWeavers CrossOver product: https://www.codeweavers.com/compatibili ... r/sentinel

So, is this "favorites list" just a set of files on the SD card? What do these files look like? Run:

Code: Select all

$ cd /run/media/mrg/2C9A-1B21
$ ls -l
It may be that all Uniden Sentinel does is edit files on a filesystem, and nothing "lower level" over USB. Possibly with a checksum somewhere. That those others on the forum said "it works" suggests all it is doing is editing such files on a filesystem. Without access to the hardware I could possibly find clues by browsing around on that radioreference.com forum... I'm procrastinating on other things by writing this though.

We can look at what filesystem is exposed, likely FAT32 (or whatever SD cards do):

Code: Select all

$ udisksctl unmount -b /dev/disk/by-label/2C9A-1B21
$ fdisk -l /dev/disk/by-label/2C9A-1B21
It might be that a necessary library isn't installed on your openSUSE system, while the fellow on Linux who said it works may have been on Debian. I don't know much about openSUSE so I can't help here, or know what libraries could be missing.

It might also be that particular versions of WINE worked, while later ones didn't. CrossOver vesion 16.2.5 on macOS is the only version I see tested that is claimed to work. You can try their trial and see if that works better, their 'cxdiag' utility is quite nice for printing out missing libraries, both 64-bit and 32-bit: https://www.codeweavers.com/support/wiki/diag

Did you press 'Install' when prompted to install Mono? https://www.techrepublic.com/a/hub/i/20 ... /wineb.jpg

gariac
Level 2
Level 2
Posts: 20
Joined: Wed Apr 16, 2008 4:31 pm

Re: Uniden sentinel revisited

Post by gariac » Thu Apr 29, 2021 7:07 pm

Wine mono is installed. It is rev 5.0.

This udisksctl is interesting. I put it in monitor mode and plugged in the scanner. (I didn't invoke Dolphin or try to mount the SD card with udisksctl. Just plug in the scanner.) Results:

Code: Select all

udisksctl monitor /dev/disk/by-label/2C9A-1B21   
Monitoring the udisks daemon. Press Ctrl+C to exit.
16:36:45.205: The udisks-daemon is running (name-owner :1.20).
16:38:05.324: Added /org/freedesktop/UDisks2/drives/UNIDEN_AMERICA_CORP_2e_BCD436HP_0000000000001
  org.freedesktop.UDisks2.Drive:
    CanPowerOff:                true
    Configuration:              {}
    ConnectionBus:              usb
    Ejectable:                  true
    Id:                         UNIDEN-AMERICA-CORP.-BCD436HP-0000000000001
    Media:                      
    MediaAvailable:             true
    MediaChangeDetected:        true
    MediaCompatibility:         
    MediaRemovable:             true
    Model:                      BCD436HP
    Optical:                    false
    OpticalBlank:               false
    OpticalNumAudioTracks:      0
    OpticalNumDataTracks:       0
    OpticalNumSessions:         0
    OpticalNumTracks:           0
    Removable:                  true
    Revision:                   0100
    RotationRate:               -1
    Seat:                       seat0
    Serial:                     0000000000001
    SiblingId:                  /sys/devices/pci0000:00/0000:00:08.1/0000:07:00.3/usb2/2-2/2-2:1.0
    Size:                       32026656768
    SortKey:                    01hotplug/1619739485322257
    TimeDetected:               1619739485322257
    TimeMediaDetected:          1619739485322257
    Vendor:                     UNIDEN AMERICA CORP.
    WWN:                        
16:38:05.326: Added /org/freedesktop/UDisks2/block_devices/sda
  org.freedesktop.UDisks2.Block:
    Configuration:              []
    CryptoBackingDevice:        '/'
    Device:                     /dev/sda
    DeviceNumber:               2048
    Drive:                      '/org/freedesktop/UDisks2/drives/UNIDEN_AMERICA_CORP_2e_BCD436HP_0000000000001'
    HintAuto:                   true
    HintIconName:               
    HintIgnore:                 false
    HintName:                   
    HintPartitionable:          true
    HintSymbolicIconName:       
    HintSystem:                 false
    Id:                         
    IdLabel:                    
    IdType:                     
    IdUUID:                     
    IdUsage:                    
    IdVersion:                  
    MDRaid:                     '/'
    MDRaidMember:               '/'
    PreferredDevice:            /dev/sda
    ReadOnly:                   false
    Size:                       32026656768
    Symlinks:                   /dev/disk/by-id/usb-UNIDEN_AMERICA_CORP._BCD436HP_0000000000001
                                /dev/disk/by-path/pci-0000:07:00.3-usb-0:2:1.0-scsi-0:0:0:0
    UserspaceMountOptions:      
  org.freedesktop.UDisks2.PartitionTable:
    Partitions:         []
    Type:               dos
16:38:06.892: Added /org/freedesktop/UDisks2/block_devices/sda1
  org.freedesktop.UDisks2.Block:
    Configuration:              []
    CryptoBackingDevice:        '/'
    Device:                     /dev/sda1
    DeviceNumber:               2049
    Drive:                      '/org/freedesktop/UDisks2/drives/UNIDEN_AMERICA_CORP_2e_BCD436HP_0000000000001'
    HintAuto:                   true
    HintIconName:               
    HintIgnore:                 false
    HintName:                   
    HintPartitionable:          true
    HintSymbolicIconName:       
    HintSystem:                 false
    Id:                         by-uuid-2C9A-1B21
    IdLabel:                    
    IdType:                     vfat
    IdUUID:                     2C9A-1B21
    IdUsage:                    filesystem
    IdVersion:                  FAT32
    MDRaid:                     '/'
    MDRaidMember:               '/'
    PreferredDevice:            /dev/sda1
    ReadOnly:                   false
    Size:                       32022462464
    Symlinks:                   /dev/disk/by-id/usb-UNIDEN_AMERICA_CORP._BCD436HP_0000000000001-part1
                                /dev/disk/by-path/pci-0000:07:00.3-usb-0:2:1.0-scsi-0:0:0:0-part1
                                /dev/disk/by-uuid/2C9A-1B21
    UserspaceMountOptions:      
  org.freedesktop.UDisks2.Filesystem:
    MountPoints:        
    Size:               0
  org.freedesktop.UDisks2.Partition:
    Flags:              0
    IsContained:        false
    IsContainer:        false
    Name:               
    Number:             1
    Offset:             4194304
    Size:               32022462464
    Table:              '/org/freedesktop/UDisks2/block_devices/sda'
    Type:               0x0c
    UUID:               
16:38:06.892: /org/freedesktop/UDisks2/block_devices/sda: org.freedesktop.UDisks2.PartitionTable: Properties Changed
  Partitions:           ['/org/freedesktop/UDisks2/block_devices/sda1']
Going into dosdevices the D drive is not available. I will now issue the mount.

Code: Select all

udisksctl mount -b /dev/disk/by-label/2C9A-1B21
Error looking up object for device /dev/disk/by-label/2C9A-1B21
Well that is interesting. I will now do the Dolphin thing.

Code: Select all

16:54:45.188: Added /org/freedesktop/UDisks2/jobs/0
  org.freedesktop.UDisks2.Job:
    Bytes:              0
    Cancelable:         true
    ExpectedEndTime:    0
    Objects:            ['/org/freedesktop/UDisks2/block_devices/sda1']
    Operation:          filesystem-mount
    Progress:           0.0
    ProgressValid:      false
    Rate:               0
    StartTime:          1619740485184722
    StartedByUID:       0
16:54:45.206: /org/freedesktop/UDisks2/jobs/0: org.freedesktop.UDisks2.Job::Completed (true, '')
16:54:45.207: Removed /org/freedesktop/UDisks2/jobs/0
16:54:45.220: /org/freedesktop/UDisks2/block_devices/sda1: org.freedesktop.UDisks2.Filesystem: Properties Changed
  MountPoints:          /run/media/mrg/2C9A-1B21
16:54:45.220: /org/freedesktop/UDisks2/block_devices/sda1: org.freedesktop.UDisks2.Block: Properties Changed
  UserspaceMountOptions:        uhelper=udisks2
And of course the d drive can be seen in dosdevices. Note the mountpoint is under /run/media which is how I mapped it in winecfg per the suggestion of the post on radioreference.

I will try the codeweaver code but geez that thing is expensive. I might as well use a VM and call it a day. But I rather solve the wine usage since it seems it is 99% there.

BTW I tried playonlinux and that didn't work either.

gariac
Level 2
Level 2
Posts: 20
Joined: Wed Apr 16, 2008 4:31 pm

Re: Uniden sentinel revisited

Post by gariac » Thu Apr 29, 2021 8:16 pm

I downloaded the codeweaver for linux. I never got an unlock code. It seems to run anyway. And by run I don't mean it actually works any differently than wine. The problem is the same. I ran the diagnostics. Here is the output.

Code: Select all

 ./cxfix --auto
Distribution: openSUSE 15.0 64-bit (suse15.0)
Product: cx20
There is no issue to fix
mrg@linux-yxjo:/opt/cxoffice/bin> ./cxdiag
[MissingLibNcurses]
"Title"="Missing 32-bit libncurses.so.5 library"

[MissingLibOdbc]
"Title"="Missing 32-bit libodbc.so.2 library"

[MissingLibOpencl]
"Title"="Missing 32-bit libOpenCL.so.1 library"

[MissingLibPcap]
"Title"="Missing 32-bit libpcap.so.0.8 library"

[Properties]
"vulkan.present"="yes"

[MissingGStreamer1Bad2]
"Title"="The gst-plugins-bad 32-bit GStreamer plugins appear to be missing h264parse"

[MissingGStreamer1Ugly]
"Title"="The gst-plugins-ugly 32-bit GStreamer plugins appear to be missing asfdemux"

[MissingGStreamer1Libav]
"Title"="The gst-libav 32-bit GStreamer plugins appear to be missing avdec_eac3"

I don't think any of this missing code will help.

andrew.smart
Level 2
Level 2
Posts: 33
Joined: Thu Dec 15, 2016 3:08 am

Re: Uniden sentinel revisited

Post by andrew.smart » Fri Apr 30, 2021 4:26 am

There it is, it was /dev/disk/by-uuid/2C9A-1B21 not /dev/disk/by-label/2C9A-1B21:

Code: Select all

Symlinks:                   /dev/disk/by-id/usb-UNIDEN_AMERICA_CORP._BCD436HP_0000000000001-part1
                                /dev/disk/by-path/pci-0000:07:00.3-usb-0:2:1.0-scsi-0:0:0:0-part1
                                /dev/disk/by-uuid/2C9A-1B21
Well I've exhausted the low hanging fruit I know of, maybe other volunteers would be willing to help.

andrew.smart
Level 2
Level 2
Posts: 33
Joined: Thu Dec 15, 2016 3:08 am

Re: Uniden sentinel revisited

Post by andrew.smart » Fri Apr 30, 2021 6:01 am

So to be 100% clear, it would be:

Code: Select all

udisksctl mount -b /dev/disk/by-uuid/2C9A-1B21
And not what I'd thought earlier:

Code: Select all

udisksctl mount -b /dev/disk/by-label/2C9A-1B21
You can navigate around /dev/disk to look for yourself what is there on your particular system, with your particular hardware, which is not the same as my system. Special files named /dev/sda or /dev/sdb don't necessarily map to the same block device from boot to boot. It is best to refer to the device using its label or UUID by using the by-label or by-uuid paths.

Anyway, I thought I'd be 100% clear on that for you.

Also, the mono version you reported doesn't appear to match up with the wine version you reported earlier:
gariac wrote:
Tue Apr 27, 2021 8:36 pm
wine --version
wine-6.7
gariac wrote:
Thu Apr 29, 2021 7:07 pm
Wine mono is installed. It is rev 5.0.
wine-6.7 should have mono 6.1.1: https://wiki.winehq.org/Mono#Versions

To see what version of mono is cached by Wine you can:

Code: Select all

ls -l ~/.cache/wine
But anyway, the I've exhausted the low-hanging fruit I know of.

I remain a bit suspicious of underlying library differences between those that reported it worked for them, between openSUSE and Debian, rather than a regression in Wine, but I could be wrong. If you could contact them and find the exact wine version they used and their Linux distribution that might be low-hanging fruit for you.

gariac
Level 2
Level 2
Posts: 20
Joined: Wed Apr 16, 2008 4:31 pm

Re: Uniden sentinel revisited

Post by gariac » Fri Apr 30, 2021 8:21 pm

I thought it was weird that the mono rev didn't match the wine rev but that is all I have in my repo. I will work on fixing that.

Code: Select all

ls -l ~/.cache/wine
total 382756
-rw-r--r-- 1 mrg users 52311040 Apr 27 02:26 wine-gecko-2.47.1-x86_64.msi
-rw-r--r-- 1 mrg users 50735104 Apr 27 02:27 wine-gecko-2.47.1-x86.msi
-rw-r--r-- 1 mrg users 49266176 Apr 27 03:06 wine_gecko-2.47-x86.msi
-rw-r--r-- 1 mrg users 56470528 Jan 12  2020 wine-mono-4.7.1.msi
-rw-r--r-- 1 mrg users 95266304 Feb 16  2020 wine-mono-4.9.4.msi
-rw-r--r-- 1 mrg users 87879168 Apr 27 03:19 wine-mono-6.1.1-x86.msi
And nothing in the cache matches what yast reports.

Note I think the Codeweaver downloaded mono but I assume it has it's own location for wine.
Attachments
wine_mono_opensuse.png

gariac
Level 2
Level 2
Posts: 20
Joined: Wed Apr 16, 2008 4:31 pm

Re: Uniden sentinel revisited

Post by gariac » Sat May 01, 2021 3:23 am

wine_all.png
I went back into yast and forced it to use the wine repo over the system. That updated wine-mono though the cache still looks the same.

helix26
Newbie
Newbie
Posts: 1
Joined: Tue May 14, 2019 8:32 am

Re: Uniden sentinel revisited

Post by helix26 » Sun May 09, 2021 9:53 am

The issue with Sentinel not seeing the micro SD card is due to type of disk it searches must appear as removable. I had tried this probably two years ago but I couldn't seem to change the drive type to something it would recognise.

I tried yesterday just using wine-staging 6.7 that i already had installed. Running winecfg go to Drives and setting the drive letter type to "Floppy disk" allowed this to work. I was able to update the database as well as read/write to the micro SD card in the radio. I have not tried the wine 6.7 release but I might give it a try.

Post Reply