Solved FreeBSD-15.0+OLYMPUS WS-806: dictaphone OLYMPUS WS-806 [umass0: detached]

The motherboard (Intel B75A) is a noname.
The voice recorder is connected via USB for 9 seconds and then disconnected. This process is not random, but rather regular and repetitive.
$ uname -aKU
Code:
FreeBSD none 15.0-RELEASE-p1 FreeBSD 15.0-RELEASE-p1 releng/15.0-n280999-7bceec30b351 GENERIC amd64 1500068 1500068

$ tail /var/log/messages
Code:
Dec 31 08:41:03 none kernel: (da0:umass-sim0:0:0:0): CACHE PAGE TOO SHORT data len 3 desc len 0
Dec 31 08:41:03 none kernel: (da0:umass-sim0:0:0:0): Mode page 8 missing, disabling SYNCHRONIZE CACHE
Dec 31 08:41:03 none kernel: da1 at umass-sim0 bus 0 scbus3 target 0 lun 1
Dec 31 08:41:03 none kernel: da1: <OLYMPUS DVR 1.02> Removable Direct Access SCSI-2 device
Dec 31 08:41:03 none kernel: da1: Serial Number 2001347530000000
Dec 31 08:41:03 none kernel: da1: 40.000MB/s transfers
Dec 31 08:41:03 none kernel: da1: 14910MB (30535680 512 byte sectors)
Dec 31 08:41:03 none kernel: da1: quirks=0x2<NO_6_BYTE>
Dec 31 08:41:03 none kernel: (da1:umass-sim0:0:0:1): CACHE PAGE TOO SHORT data len 3 desc len 0
Dec 31 08:41:03 none kernel: (da1:umass-sim0:0:0:1): Mode page 8 missing, disabling SYNCHRONIZE CACHE

$ tail /var/log/messages
Code:
Dec 31 08:41:03 none kernel: (da1:umass-sim0:0:0:1): Mode page 8 missing, disabling SYNCHRONIZE CACHE
Dec 31 08:41:09 none kernel: ugen1.5: <OLYMPUS CORPORATION DIGITAL VOICE RECORDER> at usbus1 (disconnected)
Dec 31 08:41:09 none kernel: umass0: at uhub4, port 3, addr 5 (disconnected)
Dec 31 08:41:09 none kernel: da0 at umass-sim0 bus 0 scbus3 target 0 lun 0
Dec 31 08:41:09 none kernel: da0: <OLYMPUS DVR 1.02>  s/n 2001347530000000 detached
Dec 31 08:41:09 none kernel: da1 at umass-sim0 bus 0 scbus3 target 0 lun 1
Dec 31 08:41:09 none kernel: da1: <OLYMPUS DVR 1.02>  s/n 2001347530000000 detached
Dec 31 08:41:09 none kernel: (da0:umass-sim0:0:0:0): Periph destroyed
Dec 31 08:41:09 none kernel: (da1:umass-sim0:0:0:1): Periph destroyed
Dec 31 08:41:09 none kernel: umass0: detached

$ gpart show
Code:
=>     63  7602113  da0  MBR  (3.6G)
       63     8129       - free -  (4.0M)
     8192  7593984    1  fat32  (3.6G)

=>      63  30535617  da1  MBR  (15G)
        63      8129       - free -  (4.0M)
      8192  30527488    1  fat32  (15G)

$ gpart show
Code:
=>      40  62533216  ada0  GPT  (30G)
        40    532480     1  efi  (260M)
    532520      1024     2  freebsd-boot  (512K)
    533544       984        - free -  (492K)
    534528   8388608     3  freebsd-swap  (4.0G)
   8923136  53608448     4  freebsd-zfs  (26G)
  62531584      1672        - free -  (836K)

=>      40  62533216  ada1  GPT  (30G)
        40    532480     1  efi  (260M)
    532520      1024     2  freebsd-boot  (512K)
    533544       984        - free -  (492K)
    534528   8388608     3  freebsd-swap  (4.0G)
   8923136  53608448     4  freebsd-zfs  (26G)
  62531584      1672        - free -  (836K)
$ gpart show da0
Code:
gpart: No such geom: da0.


On a different motherboard ASUS (AMD) and on version 14.3-p7 the voice recorder does not fail.
 
your cable might be marginal, or you might be tripping the current limit.
Great idea about the poor current pumping! I thought the same thing at first. But... unfortunately, it didn't work. I had to install the sacred Windows 11 to clear things up. Read below to find out what happened...
Tested with Windows on the same hardware - no issues.
Yes, I also upgraded the recorder to Windows 11 using the same hardware and the same cables. Yes... nothing crashes. Everything works perfectly: automounting, internal memory detection, SD card detection, reading directories, stable display in Disk Manager... In short, NO, it's not the hardware or the amps being poorly supplied to the USB line. I wanted to believe the recorder was consuming amps well, but there wasn't enough juice (not like a regular flash drive). But damn, if this is an annoying bug, then I'm disappointed... In 2025, not being able to manage a stable connection for a recorder is bad form...
 
have you tried, per the bugzilla, declaring a quirk to the USB driver so it doesn't even try the cache detection logic?
 
have you tried, per the bugzilla, declaring a quirk to the USB driver so it doesn't even try the cache detection logic?
atax1a, I'll try this as soon as I have time. I'm without electricity for 12 hours a day. If I have time, I'll try this:
Code:
You can create a Quirk for this device which disables
the SYNCHRONIZED CACHE feature and see if that helps.
That will short-circuit the test entirely, and also
disable SYNCHRONIZED CACHE. If it works manually adding
a SYNC CACHE quirk, then we can add that to the kernel.
 
Time passed. Patch 1-Patch 4. Still the same.
$ uname -aKU
Code:
FreeBSD none 15.0-RELEASE-p4 FreeBSD 15.0-RELEASE-p4 releng/15.0-n281010-8ef0ed690df2 GENERIC amd64 1500068 1500068
$ less /var/log/messages
Code:
Mar  3 08:03:27 none kernel: ugen1.4: <OLYMPUS CORPORATION DIGITAL VOICE RECORDER> at usbus1
Mar  3 08:03:27 none kernel: umass0 on uhub3
Mar  3 08:03:27 none kernel: umass0: <OLYMPUS CORPORATION DIGITAL VOICE RECORDER, class 0/0, rev 2.00/1.00, addr 4> on usbus1
Mar  3 08:03:27 none kernel: umass0:  SCSI over Bulk-Only; quirks = 0x0
Mar  3 08:03:27 none kernel: umass0:3:0: Attached to scbus3
Mar  3 08:03:27 none kernel: da0 at umass-sim0 bus 0 scbus3 target 0 lun 0
Mar  3 08:03:27 none kernel: da0: <OLYMPUS DVR 1.02> Removable Direct Access SCSI-2 device
Mar  3 08:03:27 none kernel: da0: Serial Number 2001347530000000
Mar  3 08:03:27 none kernel: da0: 40.000MB/s transfers
Mar  3 08:03:27 none kernel: da0: 3712MB (7602176 512 byte sectors)
Mar  3 08:03:27 none kernel: da0: quirks=0x2<NO_6_BYTE>
Mar  3 08:03:27 none kernel: (da0:umass-sim0:0:0:0): CACHE PAGE TOO SHORT data len 3 desc len 0
Mar  3 08:03:27 none kernel: (da0:umass-sim0:0:0:0): Mode page 8 missing, disabling SYNCHRONIZE CACHE
Mar  3 08:03:27 none kernel: da1 at umass-sim0 bus 0 scbus3 target 0 lun 1
Mar  3 08:03:27 none kernel: da1: <OLYMPUS DVR 1.02> Removable Direct Access SCSI-2 device
Mar  3 08:03:27 none kernel: da1: Serial Number 2001347530000000
Mar  3 08:03:27 none kernel: da1: 40.000MB/s transfers
Mar  3 08:03:27 none kernel: da1: 14910MB (30535680 512 byte sectors)
Mar  3 08:03:27 none kernel: da1: quirks=0x2<NO_6_BYTE>
Mar  3 08:03:27 none kernel: (da1:umass-sim0:0:0:1): CACHE PAGE TOO SHORT data len 3 desc len 0
Mar  3 08:03:27 none kernel: (da1:umass-sim0:0:0:1): Mode page 8 missing, disabling SYNCHRONIZE CACHE
Mar  3 08:03:51 none kernel: ugen1.4: <OLYMPUS CORPORATION DIGITAL VOICE RECORDER> at usbus1 (disconnected)
Mar  3 08:03:51 none kernel: umass0: at uhub3, port 1, addr 4 (disconnected)
Mar  3 08:03:51 none kernel: da0 at umass-sim0 bus 0 scbus3 target 0 lun 0
Mar  3 08:03:51 none kernel: da0: <OLYMPUS DVR 1.02>  s/n 2001347530000000 detached
Mar  3 08:03:51 none kernel: da1 at umass-sim0 bus 0 scbus3 target 0 lun 1
Mar  3 08:03:51 none kernel: da1: <OLYMPUS DVR 1.02>  s/n 2001347530000000 detached
Mar  3 08:03:51 none kernel: (da0:umass-sim0:0:0:0): Periph destroyed
Mar  3 08:03:51 none kernel: (da1:umass-sim0:0:0:1): Periph destroyed
Mar  3 08:03:51 none kernel: umass0: detached
 
Very funny! The action camera won't detach, but the voice recorder "disconnects" after a few seconds. What difference does it make to FreeBSD whether it's a camera or a voice recorder? All devices are the same type—symbolic... how can FreeBSD be so selective? For example, Alpine Linux "eats everything" and nothing disconnects, even on a castrated Alpine desktop...
Action camera AirOn ProCam 4K Black :
Code:
Mar  3 08:37:02 none kernel: ugen1.4: <iCatchtek Co Ltd iCatchtek SPCA6350> at usbus1
Mar  3 08:37:02 none kernel: umass0 on uhub3
Mar  3 08:37:02 none kernel: umass0: <iCatchtek Co Ltd iCatchtek SPCA6350, class 0/0, rev 2.00/1.00, addr 4> on usbus1
Mar  3 08:37:02 none kernel: umass0:  SCSI over Bulk-Only; quirks = 0x0
Mar  3 08:37:02 none kernel: umass0:3:0: Attached to scbus3
Mar  3 08:37:02 none kernel: da0 at umass-sim0 bus 0 scbus3 target 0 lun 0
Mar  3 08:37:02 none kernel: da0: <iCatchte iCatchtek SPCA63 1.00> Removable Direct Access SPC-2 SCSI device
Mar  3 08:37:02 none kernel: da0: Serial Number 01.00.00
Mar  3 08:37:02 none kernel: da0: 40.000MB/s transfers
Mar  3 08:37:02 none kernel: da0: 30528MB (62521344 512 byte sectors)
Mar  3 08:37:02 none kernel: da0: quirks=0x2<NO_6_BYTE>

OLYMPUS & AirON are:
$ ls -l /dev/da0
Code:
crw-r-----  1 root operator 0x1bf Mar  3 08:37 /dev/da0
 
Unfortunately, I have to switch to Alpine Linux at work. I can't do anything with the voice recorder here. I have to check 30 of these recorders every Friday. Work can't wait. This topic is closed.
It's a shame that they broke a system issue in version 15. Most likely, it's because the recorder has two "levels" of memory: built-in and an SD card ("external").
 
So, some time has passed. Testing on the latest version. My voice recorder is dropping the connection again. Well, things happen.
$ freebsd-version -kru
Bash:
15.1-RELEASE-p3
15.1-RELEASE-p3
15.1-RELEASE-p3
$ uname -aKU
Code:
FreeBSD hkpc 15.1-RELEASE-p3 FreeBSD 15.1-RELEASE-p3 releng/15.1-n283611-88e7371d9dc2 GENERIC amd64 1501000 1501000
$ tail -f /var/log/messages
Code:
Sep 21 17:37:53 hkpc kernel: (da1:umass-sim0:0:0:1): Mode page 8 missing, disabling SYNCHRONIZE CACHE
Sep 21 17:39:59 hkpc kernel: ugen3.2: <OLYMPUS CORPORATION DIGITAL VOICE RECORDER> at usbus3 (disconnected)
Sep 21 17:39:59 hkpc kernel: umass0: at uhub3, port 2, addr 2 (disconnected)
Sep 21 17:39:59 hkpc kernel: da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Sep 21 17:39:59 hkpc kernel: da0: <OLYMPUS DVR 1.02>  s/n 2001347530000000 detached
Sep 21 17:39:59 hkpc kernel: da1 at umass-sim0 bus 0 scbus2 target 0 lun 1
Sep 21 17:39:59 hkpc kernel: da1: <OLYMPUS DVR 1.02>  s/n 2001347530000000 detached
Sep 21 17:39:59 hkpc kernel: (da1:umass-sim0:0:0:1): Periph destroyed
Sep 21 17:39:59 hkpc kernel: (da0:umass-sim0:0:0:0): Periph destroyed
Sep 21 17:39:59 hkpc kernel: umass0: detached
Sep 21 17:42:34 hkpc kernel: ugen3.2: <OLYMPUS CORPORATION DIGITAL VOICE RECORDER> at usbus3
Sep 21 17:42:34 hkpc kernel: umass0 on uhub3
Sep 21 17:42:34 hkpc kernel: umass0: <OLYMPUS CORPORATION DIGITAL VOICE RECORDER, class 0/0, rev 2.00/1.00, addr 2> on usbus3
Sep 21 17:42:34 hkpc kernel: umass0:  SCSI over Bulk-Only; quirks = 0x0
Sep 21 17:42:34 hkpc kernel: umass0:2:0: Attached to scbus2
Sep 21 17:42:34 hkpc kernel: da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Sep 21 17:42:34 hkpc kernel: da0: <OLYMPUS DVR 1.02> Removable Direct Access SCSI-2 device
Sep 21 17:42:34 hkpc kernel: da0: Serial Number 2001347530000000
Sep 21 17:42:34 hkpc kernel: da0: 40.000MB/s transfers
Sep 21 17:42:34 hkpc kernel: da0: 3712MB (7602176 512 byte sectors)
Sep 21 17:42:34 hkpc kernel: da0: quirks=0x2<NO_6_BYTE>
Sep 21 17:42:34 hkpc kernel: (da0:umass-sim0:0:0:0): CACHE PAGE TOO SHORT data len 3 desc len 0
Sep 21 17:42:34 hkpc kernel: (da0:umass-sim0:0:0:0): Mode page 8 missing, disabling SYNCHRONIZE CACHE
Sep 21 17:42:34 hkpc kernel: da1 at umass-sim0 bus 0 scbus2 target 0 lun 1
Sep 21 17:42:34 hkpc kernel: da1: <OLYMPUS DVR 1.02> Removable Direct Access SCSI-2 device
Sep 21 17:42:34 hkpc kernel: da1: Serial Number 2001347530000000
Sep 21 17:42:34 hkpc kernel: da1: 40.000MB/s transfers
Sep 21 17:42:34 hkpc kernel: da1: 14910MB (30535680 512 byte sectors)
Sep 21 17:42:34 hkpc kernel: da1: quirks=0x2<NO_6_BYTE>
Sep 21 17:42:34 hkpc kernel: (da1:umass-sim0:0:0:1): CACHE PAGE TOO SHORT data len 3 desc len 0
Sep 21 17:42:34 hkpc kernel: (da1:umass-sim0:0:0:1): Mode page 8 missing, disabling SYNCHRONIZE CACHE
Sep 21 17:42:47 hkpc kernel: ugen3.2: <OLYMPUS CORPORATION DIGITAL VOICE RECORDER> at usbus3 (disconnected)
Sep 21 17:42:47 hkpc kernel: umass0: at uhub3, port 2, addr 2 (disconnected)
Sep 21 17:42:47 hkpc kernel: da0 at umass-sim0 bus 0 scbus2 target 0 lun 0
Sep 21 17:42:47 hkpc kernel: da0: <OLYMPUS DVR 1.02>  s/n 2001347530000000 detached
Sep 21 17:42:47 hkpc kernel: da1 at umass-sim0 bus 0 scbus2 target 0 lun 1
Sep 21 17:42:47 hkpc kernel: da1: <OLYMPUS DVR 1.02>  s/n 2001347530000000 detached
Sep 21 17:42:47 hkpc kernel: (da1:umass-sim0:0:0:1): Periph destroyed
Sep 21 17:42:47 hkpc kernel: (da0:umass-sim0:0:0:0): Periph destroyed
Sep 21 17:42:47 hkpc kernel: umass0: detached
 
My heart is broken. I took the trouble to check how our colleagues are handling the voice recorder situation. And what do you think? It’s the exact same thing! A "dual-level" voice recorder in terms of memory: internal (built-in) storage and external storage (a standard SD card inserted into a slot). Here’s what’s in OpenBSD 7.9:

# fdisk sd2
Code:
Disk: sd2       geometry: 473/255/63 [7602176 Sectors]
Offset: 0       Signature: 0xAA55
            Starting         Ending         LBA Info:
 #: id      C   H   S -      C   H   S [       start:        size ]
-------------------------------------------------------------------------------
 0: 0B      0 130   3 -    473  54  29 [        8192:     7593984 ] FAT32
 1: 00      0   0   0 -      0   0   0 [           0:           0 ] Unused
 2: 00      0   0   0 -      0   0   0 [           0:           0 ] Unused
 3: 00      0   0   0 -      0   0   0 [           0:           0 ] Unused

# fdisk sd3
Code:
Disk: sd3       geometry: 1900/255/63 [30535680 Sectors]
Offset: 0       Signature: 0xAA55
            Starting         Ending         LBA Info:
 #: id      C   H   S -      C   H   S [       start:        size ]
-------------------------------------------------------------------------------
 0: 0B      0 130   3 -   1900 193  21 [        8192:    30527488 ] FAT32
 1: 00      0   0   0 -      0   0   0 [           0:           0 ] Unused
 2: 00      0   0   0 -      0   0   0 [           0:           0 ] Unused
 3: 00      0   0   0 -      0   0   0 [           0:           0 ] Unused

$ tail -f /var/log/messages
Code:
Sep 22 11:54:36 hkpc /bsd: umass0 at uhub2 port 2 configuration 1 interface 0 "OLYMPUS CORPORATION DIGITAL VOICE RECORDER" rev 2.00/1.00 addr 2
Sep 22 11:54:36 hkpc /bsd: umass0: using SCSI over Bulk-Only
Sep 22 11:54:36 hkpc /bsd: scsibus4 at umass0: 2 targets, initiator 0
Sep 22 11:54:37 hkpc /bsd: sd2 at scsibus4 targ 1 lun 0: <OLYMPUS, DVR, 1.02> removable                                                                                                       
Sep 22 11:54:37 hkpc /bsd: sd2: 3712MB, 512 bytes/sector, 7602176 sectors                                                                                                                     
Sep 22 11:54:38 hkpc /bsd: sd3 at scsibus4 targ 1 lun 1: <OLYMPUS, DVR, 1.02> removable                                                                                                       
Sep 22 11:54:38 hkpc /bsd: sd3: 14910MB, 512 bytes/sector, 30535680 sectors                                                                                                                   
Sep 22 11:54:54 hkpc /bsd: sd3 detached                                                                                                                                                       
Sep 22 11:54:54 hkpc /bsd: sd2 detached                                                                                                                                                       
Sep 22 11:54:54 hkpc /bsd: scsibus4 detached                                                                                                                                                 
Sep 22 11:54:54 hkpc /bsd: umass0 detached
 
Back
Top