スキップしてメイン コンテンツに移動

brltty のcpu時間が多い問題

brttyなるプロセスが結構なcpu時間を占めていたのでchatgptに聞いてみると
CH340のUSBシリアルのトラブルの根本的な問題もこの辺にあったらしいのでbrttyを削除することに
アップデートで再インストールされるのでそのへんも含めて対処
chatgpt曰く
💡補足
Ubuntu や Debian は、USBシリアル変換器(CH340など)を点字ディスプレイと誤認しがちです。
brltty の自動起動によって /dev/ttyUSB0 が brltty に占有され、Arduino や ESP32 が認識されなくなる問題もよく報告されています。
らしい
sudo apt remove brltty
✅ 再インストールを防ぐ対策まとめ
✅ 1. brltty を完全削除して再インストールされないようにロック
sudo apt purge brltty
sudo apt-mark hold brltty

✅ 2. udev が brltty を起動しないようにする
点字ディスプレイではなく**USB接続のシリアル変換器(CH340など)**を使っていると、brltty がこれを「点字ディスプレイ」と誤認して起動することがあります。
対策:udev ルールを無効化
sudo mkdir -p /etc/udev/rules.d
sudo touch /etc/udev/rules.d/99-nobrltty.rules
次にこの内容を追加します:
echo 'ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", OPTIONS+="ignore_device"' | sudo tee -a /etc/udev/rules.d/99-nobrltty.rules
これは例として CH340 シリアル変換チップ(1a86:7523) に対して brltty が干渉しないようにする設定です。他のデバイスを使っている場合は lsusb で idVendor と idProduct を調べてください。
✅ 3. GRUBのカーネルオプションで brltty を無効化(上級者向け)
sudo nano /etc/default/grub
この行を探して:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
ここに brltty=off を追加:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash brltty=off"
設定を反映:
sudo update-grub

✅ 確認
最後に、ちゃんと削除されたか確認:
dpkg -l | grep brltty
何も表示されなければ、削除完了です。

一通り入力すると何も表示されなくなった
うまく行ったようで USBの抜き差し無しでCH340をつんだArduinoも認識されるようになった
MatterControlでもUSB抜き差し無しでLampsを認識してくれるようになった

コメント

このブログの人気の投稿

Arduino IDE が "Downloading index: library_index.tar.bz2" で固まる問題

PCとのシリアル通信が原因の一つらしい '/home/usename/.arduino15/packages' を消すといいらしい ので消すと治った IDEの起動中にフリーズしてたのが治った Downloading index: library_index.tar.bz2 とダウンロード中だったが終了したので起動中のフリーズが起こるようになった

Blogger でp5jsがつかえた

”HTMLビュー”でHTMLを編集  divとcanvasを関連付ければ良いみたい (div id="p5canvas とcreateCanvasの.parent("p5canvas");) p5js本体はCDNを参照(https://cdnjs.com/libraries/p5.js) コードはP5サイトのEXAMPLEから(https://p5js.org/examples/3d-geometries.html) <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.js"></script> <div id="p5canvas"></div> <script> function setup() { createCanvas(710, 400, WEBGL).parent("p5canvas"); } function draw() { background(250); translate(-240, -100, 0); normalMaterial(); push(); rotateZ(frameCount * 0.01); rotateX(frameCount * 0.01); rotateY(frameCount * 0.01); plane(70); pop(); translate(240, 0, 0); push(); rotateZ(frameCount * 0.01); rotateX(frameCount * 0.01); rotateY(frameCount * 0.01); box(70, 70, 70); pop(); translate(240, 0, 0); push(); rotateZ(frameCount * 0.01); rotateX(frameCount * 0.01); rotateY(frameCount * 0.01); cylinder(70, 70); pop(); ...

クラスカル法

chat-gptにきいたらおしえてくれた                                                                参考動画 <!DOCTYPE html> <html lang="en"> <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.js"></script> <div id="p5canvas"></div> <script> class Graph {   constructor() {     this.vertices = [];     this.edges = [];   }   addVertex(x, y) {     this.vertices.push({ x, y });   }   addEdge(source, destination, weight) {     if (this.vertices[source] && this.vertices[destination]) ...