2017年3月13日月曜日

ラズパイ kernel 4.9でServoBlaster(非推奨)

Raspberry Pi 2 Model Bで使っているArch Linux ARMのkernelが、4.9系に上がりましたが、、、。
ServoBlasterは4.9系に対応しておらず、
"servod: Cannot parse the hardware name string"
エラーを吐いて起動しません。


ServoBlasterは、"/proc/cpuinfo"から情報を取ってRaspberry Piの機種ボードモデルを判別しているらしいのですが、
kernel 4.9になってから、"/proc/cpuinfo"での情報が変わったようです。
これに対応させるように、応急処置をしてみました。

※追記1(2017/03/26 16:55)※
Raspberry Piのボードモデル判別の方法を修正したものが、次にあります。
 http://aoo10yan.blogspot.jp/2017/03/raspberry-pi-kernel-49servoblaster.html


※以下は非推奨です!! Raspberry Pi 2 Model Bでしか確認していません!※

"servod.c"をエディタで開き、
else if (strstr(modelstr, "BCM2709"))
この行を下のように書き換える。
else if (strstr(modelstr, "BCM2709") || strstr(modelstr, "BCM2835"))
以前の"servod"を削除して、改めて"make"し、"servod"を起動する。


自分の環境では、これで動きました。

0 件のコメント :

コメントを投稿