Bàn phím ngừng hoạt động trên Ubuntu 16.04 (Xenial Xerus)


17

Bàn phím của tôi ngừng hoạt động mà không có lý do rõ ràng.

Sau khi sử dụng Ubuntu được 2,5 năm với tư cách là một máy ảo trên máy chủ Windows ( VirtualBox ), cuối cùng tôi đã quyết định, định dạng lại đĩa cứng của mình và xây dựng hệ thống với Ubuntu ngày hôm qua. Sáng nay tôi bàn phím của tôi ngừng hoạt động.

Tôi thấy nhiều bài viết về Ubuntu và bàn phím hoặc chuột USB ngừng hoạt động ngẫu nhiên. Họ chỉ ra rằng nó tự động tắt nguồn cho các thiết bị USB để tiết kiệm năng lượng và khi một số thiết bị USB không tương thích với một số thiết bị, USB sẽ không 'thức dậy' như bình thường.

Tôi đã thử đề xuất được đăng trong Sửa lỗi USB Autosuspend .

Nhưng không có may mắn. Tôi cũng đã thử một đề nghị khác là khởi động mà không cần bàn phím và sau đó cắm nó vào khi Ubuntu đã bắt đầu.

Dưới đây là một số chi tiết:

  • Tôi đã sử dụng cùng bàn phím Kinesis với Ubuntu như một máy ảo trong hai năm qua, không vấn đề gì.
  • Kinesis có các macro và kích hoạt một macro gây ra vấn đề 100% thời gian. Tuy nhiên, nó cũng xảy ra khi tôi chỉ gõ (không có macro).
  • Tôi đã thử Kinesis trên máy tính xách tay. Đây là một chiếc máy một năm tuổi mà tôi đã đặt Ubuntu 16.04 vào hai tuần trước. Sử dụng macro bàn phím Kinesis không tái tạo vấn đề.

Máy có vấn đề

  • Dell XPS, 6 tuổi, máy tính để bàn
  • Đã cài đặt Ubuntu 16.04 ngày hôm qua
  • Sử dụng bàn phím USB Kinesis Advantage
  • Rút / cắm lại bàn phím đã hoạt động 9 trên 10 lần
  • Khởi động lại cũng hoạt động
  • Tôi không nghĩ đó là vấn đề về nguồn USB vì đèn LED trên bàn phím vẫn sáng và các thiết bị USB khác vẫn hoạt động.
  • Tôi có cả USB và chuột Bluetooth được gắn vào máy. Cả hai tiếp tục làm việc ngay cả khi Kinesis dừng lại.
  • Tôi thường có một bàn phím thương hiệu Dell thông thường thứ hai được cắm cho những người không phải Kinesis, những người cần sử dụng máy tính của tôi. Đầu ngày hôm nay, bàn phím này đã ngừng hoạt động mỗi khi Kinesis ngừng hoạt động. Tuy nhiên, bây giờ, gây ra vấn đề với macro, bàn phím Dell vẫn hoạt động.

Kinesis, mà tôi đã có 8 năm nay, đã giúp tôi có thể tiếp tục sử dụng bàn phím. Nếu tôi không thể giải quyết điều này, tôi sẽ phải quay lại Windows, đây sẽ là một người lập dị thực sự.

Bất kỳ đề xuất nào về những điều cần thử hoặc cách để gỡ lỗi này sẽ được đánh giá rất cao.

Tôi đang đào sâu vào trình điều khiển USB, mà trên Linux tôi không biết gì về nó. Tuy nhiên, tôi đã thấy rằng máy tính xách tay có cả cổng USB 2.0 và 3.0. Máy tính để bàn (có vấn đề) chỉ là USB 2.0. Vẫn đang đào ...


Tôi đã sử dụng cùng bàn phím Kinesis với Ubuntu như một máy ảo trong 2 năm qua, không vấn đề gì. Bạn đã thực sự bàn giao bàn phím cho máy ảo? Nếu không, nó đã đi qua các trình điều khiển của hệ điều hành máy chủ và VirtualBox.
Melebius

Trong 3 năm, tôi đã sử dụng Ubuntu như một máy ảo với máy chủ Windows và không gặp vấn đề gì với bàn phím. Bây giờ máy chủ lưu trữ là Ubuntu GNOME và khách cũng là Ubuntu GNOME, tôi đang gặp vấn đề này.
klequis

Sau đó, bạn không sử dụng bàn phím vật lý của mình trong HĐH khách. Virtualbox trình bày một bàn phím ảo cho hệ điều hành khách theo mặc định. (vì vậy không có vấn đề gì nếu bạn sử dụng cùng một bàn phím vật lý, vì nó không giống nhau)
karatedog

Xem câu hỏi tương tự này: askubfox.com/questions/688445/l mỏi-keyboard -stopped- Work Cài đặt gói xserver-xorg-input-alllàm việc cho tôi khi tôi nâng cấp lênUbuntu 17.04
Lilás

Câu trả lời:


7

Tôi gặp vấn đề tương tự với Ubuntu 16.04 (Xenial Xerus) và đã tìm kiếm rất nhiều cho bất kỳ giải pháp nào ...

Giải pháp nằm ở cuối câu trả lời này nếu bạn không quan tâm đến câu chuyện bối cảnh. Bối cảnh có thể trông giống như blabla không đáng tin (có thể là vậy), nhưng tôi nghĩ rằng nó có thể giúp người đọc kiểm tra xem vấn đề tôi đã giải quyết trên PC có giống như của họ không.

BỐI CẢNH

Tôi đã thử nghiệm không thành công gần như mọi mẹo tôi đã tìm thấy trên web, khởi động lại sau mỗi lần thử:

  • usbcore.autosuspend=-1Tham số khởi động kernel '/ etc / default / grub'
  • chế độ máy tính xách tay 'runtime-pm.conf' CONTROL_RUNTIME_AUTOSUSPEND=0
  • vô hiệu hóa hoàn toàn Công cụ chế độ máy tính xách tay từ tệp '/etc/l mỏi-mode / l mỏi-mode.conf', xác nhận rằng sự cố không liên quan đến tính năng hạt nhân này. Tôi đã kiểm tra các cách khác nhau mà laptop_mode không chạy nữa để chắc chắn. (Tham khảo: man laptop-mode.conf& man laptop_mode)
  • Tôi đã đọc một số thủ thuật về '/etc/l mỏi-mode / conf.d / usb-autosuspend.conf', nhưng tệp này không tồn tại trong phiên bản Ubuntu 16.04 của tôi với công cụ chế độ máy tính xách tay v1,68
  • gỡ cài đặt ứng dụng powertop . Nó thường bị nghi ngờ trong các diễn đàn gây ra sự cố tự động gửi và hôm nay tôi biết rằng điều đó không đúng trong trường hợp của tôi vì gỡ cài đặt nó không khắc phục được gì.
  • options usbcore autosuspend=1 trong '/etc/modprobe.d/usb.conf' cũng không hiệu quả
  • Kịch bản '/etc/udev/rules.d/60-power.rules' được cung cấp bởi Gentoo Wiki chính thức
  • rulestệp dành riêng cho thiết bị cho udev'/etc/udev/rules.d/usb-power.rules' được đề xuất bởi Serge Y. Stroobandt

Sau khi đọc tất cả những thứ kỹ thuật này, tôi chỉ hiểu rằng nguyên nhân có liên quan đến giá trị '/ sys / module / usbcore / tham số / autosuspend' của tôi bị kẹt ở hai giây, bất kể tôi có thay đổi gì với cấu hình của mình. Bạn có thể kiểm tra nó bằng catlệnh:

$ cat /sys/module/usbcore/parameters/autosuspend
2

Và đúng vậy, con chuột của tôi đã bị vô hiệu hóa chính xác sau hai giây, vì vậy tôi biết mình đang đi đúng hướng. Tất nhiên tôi đã thử nghiệm echo -1lệnh mà tôi đã thấy ở đây và ở đó, -1có ý định vô hiệu hóa tự động gửi ... nhưng:

sudo echo -1 > sys/module/usbcore/parameters/autosuspend
bash: /sys/module/usbcore/parameters/autosuspend: Permission denied

Tôi không hiểu tại sao sự cho phép bị từ chối ngay cả trong chế độ sudo. Tôi đã không thử với quyền root, vì tôi không nghĩ rằng nó có thể là một vấn đề. Đây là lỗi :(

Nhờ những bình luận của Alex Dekker & Bryce , tôi đã học được cách vô hiệu hóa tính năng tự động chỉ dành cho chuột của mình. Nhưng tất nhiên những lần thử đầu tiên của tôi đã thất bại với điều này bash: Permission denied error, vì vậy tôi phải chờ sự hiểu biết về sự nhầm lẫn gốc / sudo của mình trước khi echo -1lệnh được đề xuất bởi Alex cuối cùng cũng hoạt động.

Tôi cũng đã tìm thấy một cách tốt hơn để thực thi một lệnh là người dùng root mà không cần đăng nhập bằng root. Sự khác biệt giữa việc sử dụng lệnh root và root root được giải thích rõ trong trang wiki RootSudo chính thức của Ubuntu . Tôi thích học những thứ này, nhưng này! Tại sao nó phải luôn luôn học theo cách đau đớn? cười lớn

OMG, đó là một cơn đau đầu thực sự, và phải mất rất nhiều thời gian để một người mới như tôi hiểu, vì tôi thường nói "không có não không đạt được". Của tôi rõ ràng cần đào tạo nhiều hơn.

Vì vậy, hãy ngừng nói về bản thân và đi sửa nó! Vui lòng tiếp tục bên dưới ...


Tôi đặc biệt khuyên bạn nên giải pháp thứ hai cho ổ cứng ngoài nhàn rỗi của bạn để không làm hao pin máy tính xách tay của bạn. Nhưng tôi cho bạn cả hai giải pháp, vì ai yêu tự do của riêng mình nên cũng yêu tự do cho nhau :)

GIẢI PHÁP 1

Để tắt tính năng tự động gửi trên mọi thiết bị / cổng USB

  1. Mở Terminal và thực thi:

    sudo sh -c "echo -1 > /sys/module/usbcore/parameters/autosuspend"
    
  2. Đây thực sự là một giải pháp tạm thời cho phép bạn kiểm tra ngay lập tức nếu lệnh này khắc phục sự cố tự động sửa chuột hoặc bàn phím của bạn.

  3. Nếu (các) thiết bị USB của bạn hoạt động tốt, chỉ cần chỉnh sửa tập lệnh '/etc/rc.local' để nó sẽ chạy lệnh đó bất cứ khi nào hệ thống được khởi động. Bằng cách này, bạn sẽ làm cho loại sửa chữa vĩnh viễn . Chỉnh sửa tệp, ví dụ với nano:

    sudo nano /etc/rc.local
    
  4. và đặt echo -1lệnh trong tệp '/etc/rc.local' của bạn trước exit 0dòng

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    (...)
    # By default this script does nothing.
    echo -1 > /sys/module/usbcore/parameters/autosuspend
    exit 0
    
  5. Khởi động lại máy tính của bạn

(Vui lòng kiểm tra ghi chú quan trọng ở cuối.)

.

GIẢI PHÁP 2

Để tắt tính năng tự động gửi cho một thiết bị / cổng USB cụ thể

  1. Các tùy chọn năng lượng cho một thiết bị USB đang ở /sys/bus/usb/devices/n-n/power. Những gì n-ndành cho một thiết bị nhất định đòi hỏi một vài thao tác để tìm hiểu, nhưng nó không phức tạp. Ví dụ dưới đây cho thấy tôi đã xác định số cổng USB của máy thu chuột không dây của mình 3-1như thế nào, vì vậy vui lòng điều chỉnh điều này với tình huống của riêng bạn:

    • Rút phích cắm thiết bị USB của bạn, mở Terminal và thực hiện sudo dmesglệnh

    • Kết nối lại thiết bị USB của bạn và sau đó thực hiện sudo dmesglại trong Terminal để kiểm tra các thay đổi

    • Đây là phần cuối của dmesgđầu ra lệnh của tôi trông như thế nào sau khi cắm lại chuột vào khe:

      [40208.575249] usb 3-1: new full-speed USB device number 8 using xhci_hcd
      [40208.705233] usb 3-1: New USB device found, idVendor=062a, idProduct=4102
      [40208.705240] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
      [40208.705245] usb 3-1: Product: 2.4G Wireless Mouse
      [40208.705248] usb 3-1: Manufacturer: MOSART Semi.
      [40208.707679] input: MOSART Semi. 2.4G Wireless Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/0003:062A:4102.0007/input/input24
      [40208.763946] hid-generic 0003:062A:4102.0007: input,hiddev0,hidraw0: USB HID v1.10 Mouse [MOSART Semi. 2.4G Wireless Mouse] on usb-0000:00:14.0-1/input0
      

    Bây giờ chúng ta có thể thấy rằng cổng mà thiết bị USB của tôi đã được cắm được xác định là usb 3-1.

    **Note:** this trick concerns the USB port ID, not a device ID. For example, if I plug my mouse to the next USB port, it becomes identified as `usb 3-2` in the `dmesg` result. But this solution #2 remains very useful if you take the habit to always plug your mice or keyboard to the same port, and it's generally what people use to do unconsciously ;)
    
  2. Thực hiện lệnh sau trong Terminal của bạn, thay đổi số cổng của tôi 3-1bằng lệnh bạn đã tìm thấy trong dmesgkết quả của riêng mình :

    sudo sh -c "echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms"
    

    Lưu ý rằng autosuspend_delay_msđã thay thế autosuspendtừ phiên bản kernel 2.6,38, theo tài liệu chính thức của Linux .

  3. Đây thực sự là một giải pháp tạm thời , nhưng bây giờ bạn có thể dễ dàng kiểm tra nếu lệnh này đã khắc phục sự cố tự động sửa lỗi chuột hoặc bàn phím của bạn.

  4. Nếu thiết bị USB của bạn hoạt động tốt ngay bây giờ, chỉ cần chỉnh sửa tập lệnh '/etc/rc.local' để thiết bị sẽ chạy lệnh đó bất cứ khi nào hệ thống được khởi động. Bằng cách này, bạn sẽ làm cho loại sửa chữa vĩnh viễn . Chỉnh sửa tệp, ví dụ với nano:

    sudo nano /etc/rc.local
    
  5. và đặt echo -1lệnh trong tệp '/etc/rc.local' của bạn trước exit 0dòng, một lần nữa đừng quên thay đổi số cổng n-ntrong lệnh:

        #!/bin/sh -e
        #
        # rc.local
        #
        # This script is executed at the end of each multiuser runlevel.
        (...)
        # By default this script does nothing.
        echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms
        exit 0
    
  6. Khởi động lại máy tính của bạn

.

Quan trọng: đừng quên rằng bạn sẽ phải thực hiện lại lệnh sudo sh -c"tạm thời" theo cách thủ công nếu bạn ngắt kết nối / kết nối lại thiết bị USB của mình trong khi môi trường máy tính để bàn của bạn đã bắt đầu, ngay cả khi bạn cắm lại vào cùng một đầu cắm USB. Bình thường, chỉ vì tệp '/etc/rc.local' chỉ được gọi một lần khi khởi động hệ thống.

Dù sao, cách giải quyết là có thể. Những người có kỹ năng tốt hơn có thể có các phương thức thông minh hơn, nhưng tôi đã cấu hình các bí danh dành riêng cho cổng trong Ubuntu. Nó cho phép tôi sử dụng các lệnh đơn giản usb1hoặc usb2các lệnh một cách chọn lọc nếu tôi phải rút / cắm lại thiết bị USB của mình ở đây hoặc ở đó. Bạn cũng vậy! Bạn cũng có thể tạo các bí danh lệnh để chơi với các từ ngắn thay vì nhập lệnh đầy đủ. Thật dễ dàng để đặt trong chưa đầy hai phút và cũng hoạt động với Alt+ F2:)

Nhiều ý tưởng để làm cho nó dễ dàng hơn cũng sẽ rất được hoan nghênh.


cảm ơn vì câu trả lời này Thật không may, tôi không thể kiểm tra để xác nhận đây là câu trả lời. Do đó, không chắc chắn nếu tôi nên đánh dấu là câu trả lời.
klequis

Tôi đã thử và nó không giúp được gì trên Ubuntu 16.0.4.2 VirtualBox 5.1.26
Pavlo

1

Tôi đã có cùng một vấn đề chính xác (bàn phím Kinesis, đã ngừng hoạt động sau khi khởi động lại).

Cuối cùng tôi đã tìm ra nó có liên quan đến nâng cấp kernel

  • trước khi khởi động lại, tôi đã dùng phiên bản 4.4.0-31-generic
  • sau khi khởi động lại, nó là 4.4.0-38-generic

Khởi động bằng kernel 4.4.0-31 cũ hơn đã khắc phục sự cố cho tôi.

Bài đăng này bao gồm các hướng dẫn về cách khởi động bằng hạt nhân cũ hơn (cho phép bạn xem liệu hạt nhân cũ hơn có thực hiện thủ thuật cho bạn không).


rất có khả năng máy mới được chế tạo của tôi có nhân mới hơn máy ảo tôi đang sử dụng. Tuy nhiên, vấn đề của tôi không phải là bàn phím ngừng hoạt động sau khi khởi động lại, nó hoạt động tốt cho đến khi tôi chạy macro, lúc đó nó tắt. Hầu hết việc sử dụng macro của tôi là cho các khóa lập trình phổ biến. Bây giờ tôi sử dụng trình soạn thảo Atom và các phím tắt / loại tự động của nó (bất cứ thứ gì họ gọi nó) làm hầu hết những gì tôi cần vì vậy tôi đang ở trong vùng đất hạnh phúc với điều đó.
klequis

0

Nếu bạn có laptop-mode-toolsthể có thể vô hiệu hóa hoàn toàn tự động treo USB bằng cách thay đổi:

AUTOSUSPEND_TIMEOUT=2

trong

/etc/laptop-mode/conf.d/runtime-pm.conf

đến

AUTOSUSPEND_TIMEOUT=-1

Hãy lưu ý rằng có một tùy chọn nhận xét trong tệp này

untime-pm.conf:# Example: AUTOSUSPEND_DEVID_BLACKLIST="usbhid usb-storage"

Bạn có thể thử chơi đồ chơi xung quanh với tùy chọn này nếu bạn muốn tinh chỉnh cài đặt quản lý năng lượng của mình.

GHI CHÚ:

  • usbcore được biên dịch vào kernel.
  • sử dụng systemd
  • Ubuntu 16.10
  • Nhân Linux 4,8.0-41-chung # 44-Ubuntu

Tôi cũng đã lưu ý rằng trong:
Antonio Medina

Không phải là một máy tính xách tay và tôi đã học được cách sống mà không có, nhưng cảm ơn bạn đã gợi ý cho bạn.
klequis

Việc các công cụ chế độ máy tính xách tay có chạy hay không ít liên quan đến việc hệ thống có phải là máy tính xách tay hay không. Máy chủ A / C của tôi luôn cắm vào tường và máy chủ đang chạy nó và đặt tệp AUTOSUSPEND_TIMEOUT = -1 trong tệp /etc/l mỏi-mode / conf.d / r nb-pm.conf là thứ cuối cùng đã sửa nó cho tôi, sau khi vật lộn với điều này kể từ khi tôi cập nhật lên 16.04 từ 14.04.
Rezty F ERIC

0

Tôi có vấn đề này như nhau. Đối với tôi, giải pháp rất đơn giản, trong khi lý do thực tế vẫn chưa được biết.

Hôm qua tôi đã cắm một con chuột thứ hai vào máy tính của tôi. Mọi thứ đều hoạt động tốt. Hôm nay, khi tôi khởi động, bàn phím không hoạt động trong màn hình đăng nhập hoặc trong máy tính để bàn. Nó hoạt động trong khi khởi động, ví dụ tôi đã vào bios.

Bàn phím bắt đầu hoạt động sau khi tôi rút chuột mới và cắm lại tất cả các dây usb.


Nó có thể là tổng số thiết bị USB (tối đa là hai). Tôi có một hệ thống như vậy. Nó có thể có hoặc không liên quan đến loại cổng USB, USB 2 so với USB 3. Thật không may, tôi không có nhiều tùy chọn trong BIOS để thử làm việc xung quanh nó.
Peter Mortensen


0

Tôi đã đọc báo cáo này và các báo cáo khác nhiều lần trong năm qua, và cuối cùng tôi đã từ bỏ việc sử dụng bàn phím gây ra sự cố và chuyển sang bàn phím không dây.

Cho đến khi tôi nhận ra rằng vấn đề bắt đầu vào khoảng thời gian tôi xây dựng một PC mới, và nó có thể là một vấn đề về điện. Vì vậy, tôi đã mua một trung tâm USB được cấp nguồn để kết nối bàn phím. Nó đã giải quyết vấn đề! Rốt cuộc, đó không phải là vấn đề phần mềm, nhưng rõ ràng máy tính mới của tôi có đầu ra USB hoạt động kém (hoặc do đó bàn phím của tôi nghĩ).

Điều này có thể đáng để thử nếu bạn đang bị mất liên tục bàn phím như được mô tả ở trên và không có gì ở phía phần mềm đã hoạt động. Một trung tâm USB được cấp nguồn không cần phải tốn kém.


Hoặc một giới hạn hiện tại đã có hiệu lực trên cổng USB? Ví dụ 100 mA .
Peter Mortensen

0

Đây không phải là câu trả lời tôi đang tìm kiếm nhưng ... tôi đã dành hai ngày và nhiều giờ để cố gắng giải quyết vấn đề này. Tôi đã mua một trung tâm PCIe USB 3.0 để xem nó có hoạt động không - nó không hoạt động.

Kết luận của tôi là vấn đề này không đáng để giải quyết, và có nhiều cách tốt hơn để đi đến cùng.

Giải pháp / cách giải quyết của tôi là dựa vào chức năng đoạn trích của trình soạn thảo văn bản của tôi. Điều đó có nghĩa là tôi sẽ đầu tư và phụ thuộc nhiều hơn vào một trình soạn thảo cụ thể (rất có thể sẽ là Atom ), nhưng điều này thậm chí sẽ tốt hơn những gì tôi có với các macro bàn phím vì các đoạn mã dễ bảo trì hơn các macro bàn phím.

Tôi đã học được rất nhiều về USB từ việc đặt lại Hệ thống con USB .


Tôi đã mua một chiếc Kinesis Advantage2 khoảng 3 tháng trước. Chỉ cần mặc 10 cái một cái. Nó hoạt động tốt. Không có vấn đề thảo luận trong vấn đề này.
klequis

Đoạn trích (mẫu văn bản) cực kỳ hữu ích, nhưng chúng không thể kiểm soát các tổ hợp phím, chỉ có văn bản thuần túy (?). Ví dụ: Shift + Ctrl + Tab (để di chuyển sang tab tiếp theo bên trái trong Firefox) không thể được đưa vào một đoạn trích
Peter Mortensen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.