at_takuya.sasaki
2017年9月3日 18時36分
Armadillo-IoT G3/G3L/X1には、WLAN/BTコンボチップが搭載されており、BT通信が可能になります。
Bluezなどのプロトコルスタックを利用してBT通信を行っていると、以下のようなBTの通信ログが/var/log/syslogに出力され、
ディスク容量を圧迫することがあります。
armadillo kernel: hci0: type 1 len 6
ログローテーションの設定を変更する方法もありますが、今回はログ自体を出さなくする方法を紹介します。
まず、当該のログですが、ドライバの以下のソースコードから出力されています。
linux-3.14-x1-xx/drivers/bluetooth/btwilink.c
static int ti_st_send_frame(struct hci_dev *hdev, struct sk_buff *skb) ~(省略)~ BT_DBG("%s: type %d len %d", hdev->name, bt_cb(skb)->pkt_type, skb->len);
BT_DBGは、このソースコードの先頭にある以下のDEBUGマクロが切られている場合に呼び出されているので、
このDEBUGマクロを削除して、再度カーネルをビルドすることで出力されなくなります。
#define DEBUG
ただし、この方法ですと他のBT_DBGのログもでなくなりますので、
armadillo kernel: hci0: type 1 len 6
上記のログだけ出力しなくするためには、上記の出力箇所だけ削除したほうが良いかもしれません。
ちなみに、このDEBUGマクロは3.16カーネル辺りまでは有効になっていますが、現在のmainlineでは削除されているようです。
以下はその際のコミット履歴です。
以上