New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 688087 link

Starred by 2 users

Issue metadata

Status: Archived
Owner: ----
Closed: Jan 17
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug
Team-Accessibility


Show other hotlists

Hotlists containing this issue:
Chrome-Bug-Cleanup


Sign in to add a comment

‘Use standard keyboard for braille settings’ missing while trying to configure 6-dot braille keyboard layout.

Project Member Reported by hernandezma@chromium.org, Feb 2 2017

Issue description

Chrome Version: 55.0.2883.105 (64 bit), 56.0.2924.79 (Beta)
OS: Chrome
Devices make/model:
Reported on Dell Chromebook 11(3120), but reproduced on site on Acer C720.

What steps will reproduce the problem?
// Make sure to add another input method apart from US keyboard, it could be UK keyboard before trying it out, otherwise step number 3 will not work.
 
(1) Enable Chromevox by pressing ‘Ctrl+Alt+Z’. Chromevox should be automatically enabled if a braille keyboard is plugged in. If you want to reproduce without a braille keyboard, hit ‘Shift + Search + D + B’ after enabling Chromevox.

//Here, I’m copying textually the steps to enable 6-dot braille keyboard layout from the help center article**:
(2) Open the status area by pressing Alt + Shift + S.
(3) Press Tab until you hear "US Keyboard," then press Enter.
(4) Check the box to Use standard keyboard for braille settings. This setting changes the middle or "home’" row of your keyboard, and the input keys are S, D, F, J, K, and L.

//It’s at this point that ‘User standard keyboard for braille settings' is missing, and there’s no way to continue to step number 5, so I’m omitting the step #5 here, but you can check all steps in the help center article**.

What is the expected result?
The option to check ‘User standard keyboard for braille settings’ should be there.

What happens instead?
The option to enable it is not there.

Time frame where issue started:
Affected admin states that it started about 2 months ago, they are unable to pinpoint which is the version it last worked fine, since devices are all updated, but he’s reported that he has some device running versions as old as 45, where the option is not there, so it’ll be difficult to determine.

Additional notes:
On site, we don’t have a braille device to say that we are reproducing the issue with all the facts involved, but I’m reporting on behalf of an Administrator that indeed has braille devices plugged into Chromebooks, it used to work before without a problem, but not anymore.

Pending info to gather:
* The braille device make is ‘Humanware Brailliant’, the exact model of the device has not been provided yet, but we’ll try to gather this info.
* Chromebook debug logs will be attached as soon as we get them, and we'll try to get one from a device that they state that it worked fine, maybe in the log there's still information about the version that the device was updated from; but if any of you guys have a way to test it out with an actual braille keyboard, that’ll be appreciated.

** Article at https://support.google.com/chromebook/answer/7020014?hl=en
 

Comment 1 by woogie@google.com, Feb 3 2017

Labels: Hotlist-Enterprise
Issue appears valid, marking hotlist-enterprise.
Description: Show this description
Additional Information:

Braille Device Make/Model: Brailliant BL 32 (new generation)
Devices make/model:  Dell Chromebook 11 (3120) 

DEBUG LOGS:

https://drive.google.com/a/google.com/file/d/0BzXl9F_0zKmma2lTTE1oSzBQeEE/view?usp=sharing

https://drive.google.com/a/google.com/file/d/0BzXl9F_0zKmmUEJ1VUNiUHBpMjA/view?usp=sharing

Adding timestamp of the Debug logs that was added above. 
timestamp: Feb 14,2017 11:00am CST

Comment 5 by woogie@chromium.org, Feb 27 2017

Owner: bhthompson@chromium.org
Assigning to bhthompson@ for triage.
Cc: ultimatedbz@google.com dmazz...@chromium.org
+folks whom have most recently had a bug relating to brltty...

It looks like there may be usb contention issues with the braille device, it connects at first, then later we see an USB error for it coming from brltty. 

...
2017-02-13T12:00:37.999347-06:00 INFO kernel: [    1.665467] usb 1-2.1: new full-speed USB device number 5 using xhci_hcd
2017-02-13T12:00:37.999350-06:00 INFO kernel: [    1.678984] usb 1-2.1: New USB device found, idVendor=1c71, idProduct=c005
2017-02-13T12:00:37.999352-06:00 INFO kernel: [    1.678998] usb 1-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
2017-02-13T12:00:37.999354-06:00 INFO kernel: [    1.679007] usb 1-2.1: Product:  BRAILLE DEVICE
2017-02-13T12:00:37.999361-06:00 INFO kernel: [    1.679014] usb 1-2.1: Manufacturer: FREESCALE SEMI
2017-02-13T12:00:37.999364-06:00 INFO kernel: [    1.679021] usb 1-2.1: SerialNumber:  003888
2017-02-13T12:00:37.999367-06:00 WARNING kernel: [    1.679193] usb 1-2.1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
...
2017-02-13T12:02:32.235180-06:00 ERR brltty[2880]: USB configuration set error 16: Device or resource busy.
2017-02-13T12:02:32.235717-06:00 WARNING brltty[2880]: USB interface in use: 1 (usbfs)
2017-02-13T12:02:32.235742-06:00 WARNING brltty[2880]: possible cause: another brltty process may be accessing the same device
2017-02-13T12:02:32.235752-06:00 ERR brltty[2880]: USB interface claim error 16: Device or resource busy.
2017-02-13T12:02:32.236348-06:00 WARNING kernel: [  152.062707] usb 1-2.1: usbfs: interface 0 claimed by usbfs while 'brltty' sets config #1
2017-02-13T12:02:37.233339-06:00 ERR brltty[2880]: USB configuration set error 16: Device or resource busy.
2017-02-13T12:02:37.233890-06:00 WARNING kernel: [  157.064921] usb 1-2.1: usbfs: interface 0 claimed by usbfs while 'brltty' sets config #1
2017-02-13T12:02:37.234137-06:00 WARNING brltty[2880]: USB interface in use: 1 (usbfs)
2017-02-13T12:02:37.234157-06:00 WARNING brltty[2880]: possible cause: another brltty process may be accessing the same device
2017-02-13T12:02:37.234167-06:00 ERR brltty[2880]: USB interface claim error 16: Device or resource busy.
2017-02-13T12:02:42.234226-06:00 ERR brltty[2880]: USB configuration set error 16: Device or resource busy.
2017-02-13T12:02:42.234914-06:00 WARNING kernel: [  162.069889] usb 1-2.1: usbfs: interface 0 claimed by usbfs while 'brltty' sets config #1
2017-02-13T12:02:42.235004-06:00 WARNING brltty[2880]: USB interface in use: 1 (usbfs)
2017-02-13T12:02:42.235018-06:00 WARNING brltty[2880]: possible cause: another brltty process may be accessing the same device
2017-02-13T12:02:42.235028-06:00 ERR brltty[2880]: USB interface claim error 16: Device or resource busy.
2017-02-13T12:02:42.314148-06:00 ERR brltty[296]: USB URB status error 71: Protocol error.
2017-02-13T12:02:42.314178-06:00 ERR brltty[296]: braille input monitor error 19: No such device.
2017-02-13T12:02:42.316414-06:00 ERR brltty[296]: USB control transfer error 71: Protocol error.
2017-02-13T12:02:42.316862-06:00 DEBUG kernel: [  162.152129] usb 1-2.1: usbfs: USBDEVFS_CONTROL failed cmd brltty rqt 33 rq 34 len 0 ret -71
2017-02-13T12:02:42.332684-06:00 WARNING brltty[296]: USB: endpoint descriptor not found: 53
2017-02-13T12:02:42.332860-06:00 DEBUG kernel: [  162.168542] usb 1-2.1: usbfs: USBDEVFS_CONTROL failed cmd brltty rqt 128 rq 6 len 255 ret -71
2017-02-13T12:02:42.333053-06:00 ERR brltty[296]: USB control transfer error 71: Protocol error.
2017-02-13T12:02:42.333071-06:00 ERR brltty[296]: USB language code string read error
2017-02-13T12:02:42.395902-06:00 INFO kernel: [  162.231381] usb 1-2.1: USB disconnect, device number 5
2017-02-13T12:02:42.406984-06:00 WARNING brltty[2880]: select: Interrupted system call
2017-02-13T12:02:47.526009-06:00 INFO chrom[1127]: --ppapi-flash-path=/opt/google/chrome/pepper/libpepflashplayer.so --ppapi-flash-version=24.0.0.186 --ui-prioritize-in-gpu-process --use-gl=egl --gpu-sandbox-failures-fatal=yes --enable-logging --log-level=1 --use-cras --enable-wayland-server --user-data-dir=/home/chronos --max-unused-resource-memory-usage-percentage=5 --login-profile=user --has-chromeos-keyboard --default-wallpaper-large=/usr/share/chromeos-assets/wallpaper/default_large.jpg --default-wallpaper-small=/usr/share/chromeos-assets/wallpaper/default_small.jpg --child-wallpaper-large=/usr/share/chromeos-assets/wallpaper/child_large.jpg --child-wallpaper-small=/usr/share/chromeos-assets/wallpaper/child_small.jpg --guest-wallpaper-large=/usr/share/chromeos-assets/wallpaper/guest_large.jpg --guest-wallpaper-small=/usr/share/chromeos-assets/wallpaper/guest_small.jpg --enable-prefixed-encrypted-media --enterprise-enrollment-initial-modulus=15 --enterprise-enrollment-modulus-limit=19 --vmodule=screen_locker=2,webui_screen_locker=2,lock_state_controller=2,webui_login_view=2,power_button_observer=2,*ui/display/chromeos*=1,*ash/display*=1,*ui/ozone*=1,*zygote*=1,*plugin*=2,*chromeos/login/*=1 --login-manager --first-exec-after-boot[1127]: cras_client: remove stream 524288
2017-02-13T12:02:52.526740-06:00 DEBUG chrom[1127]: --ppapi-flash-path=/opt/google/chrome/pepper/libpepflashplayer.so --ppapi-flash-version=24.0.0.186 --ui-prioritize-in-gpu-process --use-gl=egl --gpu-sandbox-failures-fatal=yes --enable-logging --log-level=1 --use-cras --enable-wayland-server --user-data-dir=/home/chronos --max-unused-resource-memory-usage-percentage=5 --login-profile=user --has-chromeos-keyboard --default-wallpaper-large=/usr/share/chromeos-assets/wallpaper/default_large.jpg --default-wallpaper-small=/usr/share/chromeos-assets/wallpaper/default_small.jpg --child-wallpaper-large=/usr/share/chromeos-assets/wallpaper/child_large.jpg --child-wallpaper-small=/usr/share/chromeos-assets/wallpaper/child_small.jpg --guest-wallpaper-large=/usr/share/chromeos-assets/wallpaper/guest_large.jpg --guest-wallpaper-small=/usr/share/chromeos-assets/wallpaper/guest_small.jpg --enable-prefixed-encrypted-media --enterprise-enrollment-initial-modulus=15 --enterprise-enrollment-modulus-limit=19 --vmodule=screen_locker=2,webui_screen_locker=2,lock_state_controller=2,webui_login_view=2,power_button_observer=2,*ui/display/chromeos*=1,*ash/display*=1,*ui/ozone*=1,*zygote*=1,*plugin*=2,*chromeos/login/*=1 --login-manager --first-exec-after-boot[1127]: cras_client: server_fd_state: disconnected
2017-02-13T12:02:53.424860-06:00 INFO kernel: [  173.268712] usb 1-1: new full-speed USB device number 7 using xhci_hcd
2017-02-13T12:02:53.437882-06:00 INFO kernel: [  173.282484] usb 1-1: New USB device found, idVendor=1c71, idProduct=c005
2017-02-13T12:02:53.437903-06:00 INFO kernel: [  173.282498] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
2017-02-13T12:02:53.437907-06:00 INFO kernel: [  173.282507] usb 1-1: Product:  BRAILLE DEVICE
2017-02-13T12:02:53.437909-06:00 INFO kernel: [  173.282514] usb 1-1: Manufacturer: FREESCALE SEMI
2017-02-13T12:02:53.437911-06:00 INFO kernel: [  173.282520] usb 1-1: SerialNumber:  003888
2017-02-13T12:02:53.440015-06:00 WARNING kernel: [  173.283762] usb 1-1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
...
Cc: vpalatin@chromium.org
+vpalatin as this has a similar message to https://bugs.chromium.org/p/chromium/issues/detail?id=614303 

WARNING kernel: [  173.283762] usb 1-1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes

Not clear if this is really just a 'usb occasionally has problems' issue or something specific to brltty or the actual braille device itself.
> usb 1-1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes

This is mostly just a harmless warning.
The host will poll at a slightly different frequency than the one requested by the device but should be ok for HID.

The issue in the log in #6 says that 2 different instances are trying to open the same USB device.

Both of them might just be actually 'brltty' instances.
I don't know anything about brltty, but at least we have 2 processes with very far away PIDs:
 brltty[2880] and brltty[296]
My first suspicion would be the modifications to the udev rules system when we upgraded back in August 2016.
 (is it possible that the issue is that old ?)

actually when lurking at the logs, there is already another issue before:
2017-01-18T10:31:23.038107-06:00 INFO kernel: [  245.698426] usb 1-2.1: new full-speed USB device number 8 using xhci_hcd
2017-01-18T10:31:23.056130-06:00 INFO kernel: [  245.715963] usb 1-2.1: New USB device found, idVendor=1c71, idProduct=c005
2017-01-18T10:31:23.056185-06:00 INFO kernel: [  245.715998] usb 1-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
2017-01-18T10:31:23.056200-06:00 INFO kernel: [  245.716022] usb 1-2.1: Product:  BRAILLE DEVICE
2017-01-18T10:31:23.056211-06:00 INFO kernel: [  245.716043] usb 1-2.1: Manufacturer: FREESCALE SEMI
2017-01-18T10:31:23.056220-06:00 INFO kernel: [  245.716063] usb 1-2.1: SerialNumber:  003888
2017-01-18T10:31:23.059479-06:00 WARNING kernel: [  245.718591] usb 1-2.1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
2017-01-18T10:31:23.084126-06:00 NOTICE brltty_udev[24159]: Starting brltty, device: usb:vendor=0X1c71+product=0Xc005+serial= 003888,  driver: hw
2017-01-18T10:31:23.092812-06:00 NOTICE brltty[24160]: BRLTTY 5.4 rev unknown [http://brltty.com/]
2017-01-18T10:31:23.094389-06:00 WARNING brltty[24161]: cannot create directory: /var/lib/brltty: Permission denied
2017-01-18T10:31:23.094920-06:00 NOTICE brltty[24161]: BrlAPI Server: release 0.6.5
2017-01-18T10:31:23.103993-06:00 ERR brltty[24161]: USB configuration set error 16: Device or resource busy.
2017-01-18T10:31:23.105821-06:00 WARNING brltty[24161]: USB interface in use: 1 (cdc_acm)
2017-01-18T10:31:23.106047-06:00 WARNING kernel: [  245.764393] usb 1-2.1: usbfs: interface 0 claimed by cdc_acm while 'brltty' sets config #1
2017-01-18T10:31:23.107597-06:00 WARNING kernel: [  245.767121] usb 1-2.1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
2017-01-18T10:31:24.104153-06:00 NOTICE brltty[24161]: BrlAPI connection fd=13 accepted: local <unnamed>
2017-01-18T10:31:24.605704-06:00 NOTICE brltty[24161]: BrlAPI connection fd=7 accepted: local <unnamed>
2017-01-18T10:31:28.103164-06:00 NOTICE brltty[24161]: last message repeated 6 times
2017-01-18T10:31:28.103043-06:00 WARNING kernel: [  250.767485] usb 1-2.1: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
2017-01-18T10:31:28.118585-06:00 NOTICE brltty[24161]: BrlAPI connection fd=13 accepted: local <unnamed>
2017-01-18T10:31:29.266157-06:00 NOTICE brltty[24161]: last message repeated 2 times
2017-01-18T10:31:29.266036-06:00 INFO kernel: [  251.931358] usb 1-2.1: USB disconnect, device number 8
2017-01-18T10:31:29.276253-06:00 WARNING brltty[24161]: select: Interrupted system call

The kernel modem driver (cdc_acm) is also attaching to the Braille device...
I looked at the brltty code, for this case, when it is claiming the interface (at the point where you see the "USB interface in use: 1 (cdc_acm)")
it will try to ask the kernel to detach the driver.
Interestingly it fails to set the configuration before but won't retry because I think it has verified that the current configuration is the same as the kernel one.

At some point the USB device is unhappy about something and decide to disconnect, without obvious error before.
Right now brltty is built with the raw linux USB support, maybe we can try if it would be happier with the libusb-1.0 support
(passing '--with-usb-package=libusb-1.0' to configure rather than just '--with-usb-package='


We can also verify that there is no bad interaction with the kernel cdc_acm driver by doing a simple patch like this:
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index e934e19..8d3d634 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1814,6 +1814,10 @@ static const struct usb_device_id acm_ids[] = {
        .driver_info = IGNORE_DEVICE,
        },
 #endif
+       /* Don't hijack Braille reading device */
+       { USB_DEVICE(0x1c71, 0xc005),
+       .driver_info = IGNORE_DEVICE,
+       },
 
        /* control interfaces without any protocol set */
        { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,


Owner: plundblad@chromium.org
Peter, can you take a look at this? (or help direct it to whom might be able to help on this sort of bug)

It was a while back but it looks like you did the original enablement work for brltty, I think at this point it might require hardware to repro and debug. 
Owner: dtseng@chromium.org
Labels: NewComponent-Accessibility NewComponent-Accessibility-ChromeVox
Components: UI>Accessibility>ChromeVox
Labels: -newcomponent-accessibility -newcomponent-accessibility-chromevox
Components: -UI>Accessibility
Owner: ----
Sticking to the original reproduction, I think we need clarification on the steps.

The expectation is that the 

"use standard keyboard for braille" checkbox is there. However, the setting *only* shows up when the braille keyboard is selected.

Are you seeing this? The reproduction doesn't quite make sense since you selected the US keyboard. It would not make sense for this checkbox to be shown then.

Labels: BrailleCrOS
Hello!
This bug is receiving this notice because there has been no acknowledgment of its existence in quite a bit of time.
- If you are currently working on this bug, please provide an update.
- If you are currently affected by this bug, please update with your current symptoms and relevant logs.

If there has been no updates provided by EOD Thursday, 01/17/19 (5pm EST), this bug will be archived and can be re-opened at any time deemed necessary.

Thank you!

Comment 17 by sylcat@google.com, Jan 17 (6 days ago)

Status: Archived (was: Untriaged)
Due to lack of action this bug has been Archived. If work is still being done on this issue or you are still experiencing this issue please feel free to re-open with the appropriate information.

Sign in to add a comment