カテゴリー別アーカイブ: IT関連

mz20mon-tinkerメンテ

mz20mon-tinkerの臨時メンテ!

今回の内容

  • 4cm角 ファン追加 (12V駆動)
  • INA226の配線引き直し
    • 0x40の方のINA226のSDAが断線しかかってたので。
  • OS整備
  • script整備

zabbixで、電圧が時々81.92Vとかになって、電流は0Aになって、、おかしーなーと思い調査!

1つ目のINA226のSDA(I2C)ラインが断線しかかってました。これの影響で、I2C通信全体が不安定になり、正常な値が取得できてなかったです。

配線直して、ファンも追加!

そんでもって、OSやscriptを整備して、終了〜

 

内装戻しますヨ

終了〜

mz20monとの通信(その2)

mz20mon → (wifi) → (openvpn) → garent

の通信は安定したかなーと。

が、LTE-Modem(FS040U)側は相変わらず、不安定。。。

PIX MT-100は、すぐに、kernel panicになるし。。

ATerm MR04LNのusbテザリングも、すぐに切れちゃう。。

そんなわけなので、usbなLTE-Modem直接はやめて、

USB-NIC(AX88179) → (Ether) → LTE-Router(ATerm MR04LN withクレードル) →

でためそうかなと。

続く。

mz20monとの通信

なんか、最近、mz20monとの通信が切れまくるので、改善すべく作業中。

まずは、openvpnのバージョンを合わせてみた。

mz20mon-tinker側は、最新の2.4.6だったのだけれども、サーバー側が、2.2のままだったので、こいつを、2.4.6に上げました。crl.pem問題が発生したので対処してクリア!

とりあえず、接続は問題なくできた。

しばらく様子見ですかね。

続く。

エアコンパネルモニタの表示内容変更とか。

助手席モニタとエアコンパネルモニタの表示内容が冗長すぎなので、少しずつ表示内容を変更しています〜

エアコンパネル側の現在地は、都道府県レベルに!

んでもって、助手席モニタ側は、

市区町村制覇比率(達成度)の表示を追加しました〜

続く。

連続稼働時間&平均時速、高度計debug、など。

エアコンパネルモニタのとこに、

  • 連続稼働時間(エンジンon後の経過時間:分)
  • 平均時速

の表示アプリを設置!

ついでに、以前から気になっていた高度(標高)計のbug-fix。

GPS-M1ZZからのaltitudeの値がよろしくないため、暫定で、mz20mon-tinkerに接続しているakizuki-gpsのaltitudeから情報を取得することに。

  • mz20mon側
    • Akizuki-GPS→(UART)→mz20mon-tinker→mz20mon_gpsアプリにて、/tmp/syslocation.dbを更新
  • mz20h270側
    • gps2アプリから、curlにて、http://mz20mon/alt を叩いて値をゲット
    • mz20mon上altアプリは、/tmp/syslocation.dbから現在値を出力

取り急ぎ、無理やり暫定対応でw

多少はまともになったかな。

恒久対応としては、GPS-M1ZZのリプレースかな(w

↓候補機

続く〜

トランクルーム リニューアル

NaO10号の、トランクルームリニューアルです。

注文していた、棚が届いたので、さっそく開梱して、背面板を撤去(w

次に、mz20mon-tinkerのケースリプレース!

前のやつより、一回り大きくなりました。

今回のメインの目的ですね。

mz20mon-tinkerの放熱性を上げるため、ケースを大きくすることにしたのですが、そうすると、トランクの棚に入らなくなる。
なので、棚も大きくしました。。。^^;

でもって、いろいろ撤去!


↑引退した、棚

新しい棚にします~

耐震マットとか買いに、ダイソーへ。

いろいろ固定!

だいたい完成です!

内装戻します~

まだ、途中ですが、完成!!

変更後!

↓変更前

マルチメータアプリ(仮称)にアイコンつけてみた!

メータ表示数が増えてきたので、アイコンをちゃんと作ってつけてみた!

Before / After

 

上から、

  • 車載PC(この画面を表示しているPC)への入力電圧 (自作電圧計回路より)
  • 後部席の温度 (bme280より)
  • 後部席の湿度 (bme280より)
  • 気圧 (bme280より)
  • 標高 (GPS-M1ZZより)
  • ラジエータの水温 (Camp-Junction-Boxより 自作回路経由)

以上!

フロントワイパー交換 〜の栃木ドライブ

以前つけた、安物エアロワイパーは、紋別の豪雨で、瞬間にしてダメになったため、交換することに。(w

今回は、PIAAのAERO BOGUE!

PIAAのSH-5では、干渉して取り付けできなかったので、NWBのクリップ(C-6)で!

つきました!

いい感じ!!

今度は長持ちしてくれるといいな。。。

リアも、写真!

走行時の市区町村履歴アプリを再作成したので、テスト兼ねて、ちょろっと、栃木まで軽くドライブ〜

mz20mon-tinker その5

usb0周りをチューニング。

  • rndisなドライバーなため、デバイス認識の度にMACアドレスが変わってしまう。
  • udevで無理やりmacアドレスを変更することも可能だけど、あまり意味がなさそう。。結局は認識直後はランダムなMACアドレスになるので。。
  • というわけで、IPを手動で固定割り当てに変更。
  • 通常時のLTE⇔Wifi切り替え時は、usbパワーオフはせず、ifdownのみで行うことに。
    • LTE運用中の夜中のRefresh処理時は、usbパワーoff/onする!
  • それに伴い、scriptの整備!

あと、禁断の。。。(w

diff --git a/drivers/usb/dwc2/hcd_intr.c b/drivers/usb/dwc2/hcd_intr.c
index bda0b21b850f..ae006c0cd705 100644
--- a/drivers/usb/dwc2/hcd_intr.c
+++ b/drivers/usb/dwc2/hcd_intr.c
@@ -461,7 +461,7 @@ static int dwc2_update_urb_state(struct dwc2_hsotg *hsotg,
                                                      &short_read);

        if (urb->actual_length + xfer_length > urb->length) {
-               dev_warn(hsotg->dev, "%s(): trimming xfer length\n", __func__);
+               // dev_warn(hsotg->dev, "%s(): trimming xfer length\n", __func__);
                xfer_length = urb->length - urb->actual_length;
        }

@@ -1165,7 +1165,7 @@ static void dwc2_update_urb_state_abn(struct dwc2_hsotg *hsotg,
        u32 hctsiz;

        if (urb->actual_length + xfer_length > urb->length) {
-               dev_warn(hsotg->dev, "%s(): trimming xfer length\n", __func__);
+               // dev_warn(hsotg->dev, "%s(): trimming xfer length\n", __func__);
                xfer_length = urb->length - urb->actual_length;
        }

@@ -1897,6 +1897,7 @@ static void dwc2_hc_chhltd_intr_dma(struct dwc2_hsotg *hsotg,
                                dwc2_halt_channel(hsotg, chan, qtd,
                                        DWC2_HC_XFER_PERIODIC_INCOMPLETE);
                        } else {
+                               #if 0
                                dev_err(hsotg->dev,
                                        "%s: Channel %d - ChHltd set, but reason is unknown\n",
                                        __func__, chnum);
@@ -1904,6 +1905,7 @@ static void dwc2_hc_chhltd_intr_dma(struct dwc2_hsotg *hsotg,
                                        "hcint 0x%08x, intsts 0x%08x\n",
                                        chan->hcint,
                                        dwc2_readl(hsotg->regs + GINTSTS));
+                               #endif
                                goto error;
                        }
                }

続く~

車内LAN用スイッチングハブ電源回路改善

車内LAN用のスイッチングハブは、5Vアダプタな電源仕様なやつですが、車載PCのUSBポートから直接電源にぶち込んでました。

が、しかし、たまーに、正常に起動せず(ループ検知ループしたり、ポートリンクアップしなかったり)してたので、おそらく、USBバスパワーの容量不足だったのかなとw

というわけで、ちゃんと、DC/DCコンバータ&リレー経由で、電源を作成することに。

まずは、回路!

まぁ、単なる1C接点リレー経由にしただけ。

DC/DCコンバータは、これ↓

ケースとリレーとか買いに、秋葉へ!

スイッチも、5ポートなやつを新調!↓

リレーは、これ↓

まずは、工作!

できたので、テスト!

問題なさそう!

というわけで、車載!

うまくいきました。

もとの8ポートなコは引退~

部屋で使います(w

 

mz20mon-tinker その4 (kernelビルド!)

USB-LTEモデムをFujisoftのやつに変えたら、dwc2のエラー出まくりが、ひどくなったので、kernelをビルドすることに。

調査した結果、そもそもbugっぽいので、バックポートパッチを。

# diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
index 71b7592354cb..4a709204b79d 100644
--- a/drivers/usb/dwc2/hcd.c
+++ b/drivers/usb/dwc2/hcd.c
@@ -315,6 +315,9 @@ static void dwc2_gusbcfg_init(struct dwc2_hsotg *hsotg)
        usbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
        usbcfg &= ~(GUSBCFG_HNPCAP | GUSBCFG_SRPCAP);
 
+       /* Set HS/FS Timeout Calibration */
+       usbcfg |= GUSBCFG_TOUTCAL(7);
+
        switch (hsotg->hw_params.op_mode) {
        case GHWCFG2_OP_MODE_HNP_SRP_CAPABLE:
                if (hsotg->core_params->otg_cap ==
@@ -2045,12 +2048,16 @@ static int dwc2_hcd_endpoint_reset(struct dwc2_hsotg *hsotg,
  */
 int dwc2_core_init(struct dwc2_hsotg *hsotg, bool select_phy, int irq)
 {
-       u32 usbcfg, otgctl;
+       u32 usbcfg, otgctl, trdtrim;
        int retval;
 
        dev_dbg(hsotg->dev, "%s(%p)\n", __func__, hsotg);
 
        usbcfg = dwc2_readl(hsotg->regs + GUSBCFG);
+       usbcfg &= ~GUSBCFG_USBTRDTIM_MASK;
+       trdtrim = (hsotg->phyif == GUSBCFG_PHYIF8) ? 9 : 5;
+       usbcfg |= (trdtrim << GUSBCFG_USBTRDTIM_SHIFT); + dwc2_writel(usbcfg, hsotg->regs + GUSBCFG);
 
        /* Set ULPI External VBUS bit if needed */
        usbcfg &= ~GUSBCFG_ULPI_EXT_VBUS_DRV;

ビルドするよ!

    • gcc-patch
      diff --git a/drivers/media/i2c/soc_camera/rockchip/Makefile b/drivers/media/i2c/soc_camera/rockchip/Makefile
      index 7933bcd1..2486999a 100755
      --- a/drivers/media/i2c/soc_camera/rockchip/Makefile
      +++ b/drivers/media/i2c/soc_camera/rockchip/Makefile
      @@ -1,2 +1,3 @@
       obj-\$(CONFIG_VIDEO_OV8858) += ov_camera_module.o rk_camera_module.o ov8858_v4l2-i2c-subdev.o
       obj-\$(CONFIG_VIDEO_IMX219) += imx_camera_module.o rk_camera_module.o imx219_v4l2-i2c-subdev.o
      +ccflags-y += -Wno-misleading-indentation # GCC6
      diff --git a/drivers/net/wireless/rockchip_wlan/rtl8723bs/Makefile b/drivers/net/wireless/rockchip_wlan/rtl8723bs/Makefile
      index 40715655..bd33c700 100644
      --- a/drivers/net/wireless/rockchip_wlan/rtl8723bs/Makefile
      +++ b/drivers/net/wireless/rockchip_wlan/rtl8723bs/Makefile
      @@ -16,6 +16,7 @@ EXTRA_CFLAGS += -Wno-unused
       #EXTRA_CFLAGS += -Wno-uninitialized
       #EXTRA_CFLAGS += -Wno-error=date-time  # Fix compile error on gcc 4.9 and later
      
      +EXTRA_CFLAGS += -Wno-misleading-indentation # GCC6
       EXTRA_CFLAGS += -I\$(src)/include
       EXTRA_CFLAGS += -I\$(src)/hal/phydm

      patch -p1 < hoge.diff

  • Makefile修正
    VERSION = 4
    PATCHLEVEL = 4
    SUBLEVEL = 132
    EXTRAVERSION = -mz20mon-tinker
    NAME = Blurry Fish Butt
    
    ...
    ...
    ...
  • config
    # make ARCH=arm miniarm-rk3288_defconfig
  • zImage
    # time make ARCH=arm -j6 zImage 2>&1 | tee 1.log
  • modules
    # time make ARCH=arm -j6 modules 2>&1 | tee 2.log
  • dtbs
    # time make ARCH=arm dtbs 2>&1 | tee 3.log
  • Install
    # make ARCH=arm modules_install
    # mv -v /boot/zImage{,.bak}
    # mv -v /boot/rk3288-miniarm.dtb{,.bak}
    # cp -v arch/arm/boot/{zImage,dts/rk3288-miniarm.dtb} /boot

こんな感じ〜

dwc2のエラーは激減したね。

つづく〜

mz20mon-tinker その3

mz20mon-tinker、メンテ続きます。。。

dwc2のエラー出まくりが気持ち悪いので、USB-HUBをケースの中に内蔵し、USB-LTE-ModemとUSB-WiFiの両方をUSB-HUB経由の接続に変えました。

[root@mz20mon-tinker tmp]# lsusb -t
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 1: Dev 2, If 1, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 1: Dev 2, If 2, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 1: Dev 2, If 3, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 1: Dev 2, If 4, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 1: Dev 2, If 5, Class=Audio, Driver=snd-usb-audio, 480M
    |__ Port 1: Dev 2, If 255, Class=Human Interface Device, Driver=usbhid, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 3: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M
        |__ Port 4: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 3: Dev 8, If 0, Class=Communications, Driver=cdc_ether, 480M
            |__ Port 3: Dev 8, If 1, Class=CDC Data, Driver=cdc_ether, 480M
            |__ Port 4: Dev 5, If 0, Class=Vendor Specific Class, Driver=rtl8812au, 480M

こんな感じ!
Bus 01.Port 1(Root-Hub) → Port 4(USB-HUB) → Port3:LTE-Modem, Port4:WiFi

これで、少し、静かになったかなと。

続く。

mz20mon-tinker その2

mz20monのメンテ続きます。

ASUS Tinker Board Sベースへ

  • Hostname: mz20mon-tinker
  • OS: Fedora 27ベース (kernel-4.4.103+)
  • USBデバイス
    • USB-SATA-IF: 128GB-SSD
    • USB-LTE-Modem: PIX-MT100
    • USB-HUB
    • USB-WiFi: BUFFALO WI-U2-433DMS  (RTL88xx)

      白いのがUSB-HUB、それに刺さってる黒いのがWI-U2-433DMS
  • オンボードUART
    • UART3(/dev/ttyS3): gpsレシーバ用
    • UART4(/dev/ttyS4): HKS CAMP Junction-BOX用
  • I2C
    • 0x40: INA226 mz20monシステム電力測定用
    • 0x41: INA226 7M-GTEU オルタネーター電力測定用
    • 0x76: BME280 トランクルーム 温度・湿度・気圧測定用
  • GPIO
    • wiP28(PHY38): USB-LTE-Modem Power OFF
    • wiP29(PHY40): USB-LTE-Modem Power ON
    • wiP06(PHY22): ソーラーチャージコントローラー Power OFF
    • wiP24(PHY35): ソーラーチャージコントローラー Power ON
    • wiP01(PHY12): オフ会モード入力
    • wiP23(PHY33): ファンコントローラー用(PWM2)
    • wiP08(PHY03): I2C-SDA
    • wiP09(PHY05): I2C-SCL
    • wiP27(PHY36): UART3-RX
    • wiP25(PHY37): UART3-TX
    • wiP02(PHY13): UART4-TX
    • wiP03(PHY15): UART4-RX
  • ネットワーク
    • eth0: NaO10 mz20 車内LAN
      • 192.168.3.246 / 24
    • tun0: Garent-VPN
      • 192.168.70.13
    • wlan0: 未使用(オンボードwifi)
    • wlan1: ガレージWiFi接続用
      • 192.168.129.102 / 24
    • usb0: OCNモバイルONEネットワーク接続用
      • 192.168.128.10 / 24

ネットワークについて

  • 現在位置を、gpsより取得し、自宅 or それ以外を判定する。
  • WAN接続の決定
    • 自宅(GPSの距離が20m以内)であれば、WAN接続を、WiFi経由とする
    • 自宅以外であれば、WAN接続を、LTEモデム(OCNモバイルONE)経由とする
  • VPN接続の確立
    • GarentへVPN接続する
  • namedのリフレッシュ
  • ntpdのリフレッシュ

mz20monリプレース〜の大黒 (9/2)

mz20mon-tinkerの準備がだいたい整ったので、車載のmz20monとリプレースを決行

まずは、中身入れ替え!

で、ケース閉じたとこ!

中身(OSとか)の調整してたら朝になっちゃった。

ちょろっと落ちたのち、大黒へ行こうかなと思った時。。

mz20mon-tinkerに繋がらない。。。

うーむ。オンボードのwifi接続が切れてるね。。。

iwlist scanしても、ap見つからないし。

dmesgすると。。

[ 9148.266217] ————[ cut here ]————
[ 9148.266383] WARNING: CPU: 2 PID: 575 at drivers/net/wireless/rockchip_wlan/rtl8723bs/core/rtw_mlme.c:2484 rtw_sta_mstatus_report+0x58/0x5c [8723bs]()
[ 9148.266395] Modules linked in: rtl8812au xt_conntrack 8723bs rtc_ds1307 [last unloaded: rtl8812au]
[ 9148.266432] CPU: 2 PID: 575 Comm: ifconfig Not tainted 4.4.103+ #1
[ 9148.266441] Hardware name: Rockchip (Device Tree)
[ 9148.266475] [<c010fe68>] (unwind_backtrace) from [<c010bae4>] (show_stack+0x20/0x24)
[ 9148.266498] [<c010bae4>] (show_stack) from [<c050b28c>] (dump_stack+0x84/0xa0)
[ 9148.266519] [<c050b28c>] (dump_stack) from [<c011df54>] (warn_slowpath_common+0x98/0xc4)
[ 9148.266537] [<c011df54>] (warn_slowpath_common) from [<c011e03c>] (warn_slowpath_null+0x2c/0x34)
[ 9148.266691] [<c011e03c>] (warn_slowpath_null) from [<bf01e4a0>] (rtw_sta_mstatus_report+0x58/0x5c [8723bs])
[ 9148.267012] [<bf01e4a0>] (rtw_sta_mstatus_report [8723bs]) from [<bf066040>] (cfg80211_rtw_disconnect+0x64/0xac [8723bs])
[ 9148.267200] [<bf066040>] (cfg80211_rtw_disconnect [8723bs]) from [<c0b6201c>] (cfg80211_disconnect+0x144/0x210)
[ 9148.267223] [<c0b6201c>] (cfg80211_disconnect) from [<c0b37f2c>] (__cfg80211_leave+0xe8/0x128)
[ 9148.267243] [<c0b37f2c>] (__cfg80211_leave) from [<c0b37fa0>] (cfg80211_leave+0x34/0x40)
[ 9148.267261] [<c0b37fa0>] (cfg80211_leave) from [<c0b38178>] (cfg80211_netdev_notifier_call+0x1cc/0x59c)
[ 9148.267280] [<c0b38178>] (cfg80211_netdev_notifier_call) from [<c013bd44>] (notifier_call_chain+0x50/0x78)
[ 9148.267298] [<c013bd44>] (notifier_call_chain) from [<c013bea4>] (raw_notifier_call_chain+0x28/0x30)
[ 9148.267319] [<c013bea4>] (raw_notifier_call_chain) from [<c0941210>] (call_netdevice_notifiers_info+0x54/0x64)
[ 9148.267340] [<c0941210>] (call_netdevice_notifiers_info) from [<c0941240>] (call_netdevice_notifiers+0x20/0x28)
[ 9148.267359] [<c0941240>] (call_netdevice_notifiers) from [<c0941358>] (__dev_close_many+0x5c/0xcc)
[ 9148.267376] [<c0941358>] (__dev_close_many) from [<c09414e8>] (__dev_close+0x38/0x50)
[ 9148.267395] [<c09414e8>] (__dev_close) from [<c09494e0>] (__dev_change_flags+0x9c/0x140)
[ 9148.267412] [<c09494e0>] (__dev_change_flags) from [<c09495ac>] (dev_change_flags+0x28/0x58)
[ 9148.267431] [<c09495ac>] (dev_change_flags) from [<c0a206b0>] (devinet_ioctl+0x300/0x674)
[ 9148.267448] [<c0a206b0>] (devinet_ioctl) from [<c0a22124>] (inet_ioctl+0xd0/0x100)
[ 9148.267467] [<c0a22124>] (inet_ioctl) from [<c092b4e8>] (sock_ioctl+0x270/0x2c0)
[ 9148.267489] [<c092b4e8>] (sock_ioctl) from [<c0245414>] (do_vfs_ioctl+0x5b0/0x690)
[ 9148.267507] [<c0245414>] (do_vfs_ioctl) from [<c0245550>] (SyS_ioctl+0x5c/0x84)
[ 9148.267525] [<c0245550>] (SyS_ioctl) from [<c01072c0>] (ret_fast_syscall+0x0/0x3c)
[ 9148.267536] —[ end trace ff38b8ef69aa49ad ]—

こんなん出てますた。。

まぁ、WiFiドライバのbugっすね。。

つーわけで、オンボードは諦めて、USBドングルで行くことに。ヨドバシの店頭受取で注文して、とりあえず、大黒へ!

大黒は、6+2台くらいですた。

帰りに、ヨドバシakibaに寄って、USB WiFiアダプタと、WiFiルータ買ってきますた。

家に帰って、早速ごにょごにょしてたけど。。。

なかなかうまく行かないねー。

USB WiFiアダプタを、root hub直下に挿すと、

[ 5432.223706] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 12 – ChHltd set, but reason is unknown
[ 5432.232170] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x06600029
[ 5432.510764] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 3 – ChHltd set, but reason is unknown
[ 5432.519223] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x06600009
[ 5432.665691] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 13 – ChHltd set, but reason is unknown
[ 5432.674145] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x04600009
[ 5432.682477] dwc2 ff540000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[ 5432.744629] dwc2 ff540000.usb: dwc2_update_urb_state(): trimming xfer length
[ 5433.086668] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 2 – ChHltd set, but reason is unknown
[ 5433.095126] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x04600009
[ 5433.534718] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 14 – ChHltd set, but reason is unknown
[ 5433.543179] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x04600009
[ 5435.723651] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 2 – ChHltd set, but reason is unknown
[ 5435.732111] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x06600029
[ 5436.110721] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 3 – ChHltd set, but reason is unknown
[ 5436.119424] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x04600009
[ 5436.444688] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 12 – ChHltd set, but reason is unknown
[ 5436.453149] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x04600009
[ 5436.461483] dwc2 ff540000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[ 5436.478706] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 7 – ChHltd set, but reason is unknown
[ 5436.487140] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x06600029
[ 5436.495471] dwc2 ff540000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[ 5437.166692] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 6 – ChHltd set, but reason is unknown
[ 5437.175138] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x04600009
[ 5437.183474] dwc2 ff540000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[ 5437.255693] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 12 – ChHltd set, but reason is unknown
[ 5437.264166] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x04600009
[ 5437.272520] dwc2 ff540000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[ 5438.604662] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 0 – ChHltd set, but reason is unknown
[ 5438.613139] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x04600009
[ 5438.621496] dwc2 ff540000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[ 5438.790725] dwc2 ff540000.usb: dwc2_hc_chhltd_intr_dma: Channel 11 – ChHltd set, but reason is unknown
[ 5438.799202] dwc2 ff540000.usb: hcint 0x00000002, intsts 0x04600009
[ 5438.807564] dwc2 ff540000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[ 5441.495612] dwc2 ff540000.usb: dwc2_update_urb_state(): trimming xfer length

なエラーが出まくります。。。

試行錯誤の末、USB-Hubかましたら無事解決w

USB-OTGドライバのbugかなー。。^^;

しばらくコレで様子を見ます

続く〜

ルーフモニタ その4 (1.8″→3.2″)

オーストラリアから、3.2インチTFTモニタが届いたので、リプレースすることに。

まずは、ABS樹脂をcoromozaでレーザーカット!

そんでもって、ヤスリがけ!

細長いのは、シフトパネルのTEMSスイッチのところのめくら蓋に!

そんでもって、塗装行くよ!

プライマー吹いて〜

シフトパネル用のパーツは、マッドブラック吹いて〜

ルーフモニタ化粧パネルは、レッドブラウン吹いて〜

マッドブラック乾いてきたヨ!

化粧パネル2回目のレッドブラウン!

こちらも乾いてきた!

塗装は終了!

次は台座加工。

既存の枠もカットカット!

貼り付け!

いい感じじゃない?

では、Raspberry Pi Zero Wに、OS入れて〜LCDのドライバー入れて〜

実車マウント!

いいねー

3.2インチバージョンは一旦完成!

あとは、ここで何をやらせるかが問題なんですねー。(w

続く〜

車検整備とか車載PCとか (3/31,4/1)

3/31(土)

純正シフトノブが届いた。

さっそく、整備開始。

まずは、オイル交換

AnzaiのPLUS91を添加してみた。効果あるかな?

途中、SAB戸田で、フクピカを仕入れてきた。

道中のさくら川の桜。

だいぶ散っちゃいましたね。

隣の公園のはちょっと耐えてます(w

でもって、オイル交換は終了!

白煙すぐ治まった感じ。良いかも!?

お次はリア下回り掃除とか。

マフラーテールの耐熱シルバー&燃料タンクのシャシーブラックとか。

4/1(日)

車載PC入れ替え!

まずは、車載PC8号機をおろして〜

電源外して、車載PC9号機へ!!

ATX電源ピン出力とか最終配線して、組み立て。

いい感じ!

でもって、10号へマウント。

電源配線して〜

USBとかシリアルとか電源ピンとか配線して〜

USBポートre-mappingやもろもろソース修正!

だいたい完成!

最後に、H3Cバルブをハロゲンに交換し、車検整備は一旦完了!

車載PC9号(仮)構築 & ガレージ照明改善作戦 (その3)

先日、車載PCモニタを11.6インチ化したら、いろいろ思うところが出てきて、車載PCもリプレースしようかなと。
→ 詳細はこちら

で、パーツが揃ったので、構築開始!

M/Bは、ASRock H270M-ITX/ac、CPUは、Intel Core i5-7400T/2.4GHz(TDP:35W)

メインストレージは、NVMeなSSD(WD-Black 256GB、 メモリはDDR4-2133 16GB(8GB*2)

ケースは、SilverStone ML6

とりあえずは、Bench!

Bench中に、電流値チェック。

シングルコアでベンチ中:2.2A  (12V) 約26W
クアッドコアでベンチ中:3.0A (12V) 約36W
アイドル中: 1.3A (12V) 約16W

いい感じですね!

USBもいっぱい!

お次は、照明制御の続き。

SSRにIVケーブルを付けて、、

スイッチへ。

DC側のリード線は長めに。

スイッチ側は完了!

回路は書いてみたヨ。

続く〜

Tinker Board Sを試すヨ

ASUS の Tinker Boardが、eMMC搭載で、新しく Tinker Board Sが発売されたので、試してみることに。

ツクモ12号店でゲット!

技適もOK!

とりあえず、Armbian for Tinker Boardを起動してみた。

普通に動きますね。

体感、Rpi3のそれよりかなりキビキビ動きますねー。

でもって、kernel/bootはそのまま、中身をFedora27に!!^^

SSDもつなげて、一通り構築。

  • Armbian 5.38 →  Fedora 27
    TinkerOS 2.0.4 → Fedora 27 (2/22変更)
  • /var,/usr/local等、ssdへ
  • systemd関連チューニング
  • WiringPI ライブラリ整備
  • i2c-tools関連整備
  • rpi2で使ってたi2cなデバイス実験
  • unixbench測定
     

結論、「コレはイイ!!

以下、比較。

Tinker Board S (mz20mon-tinker) Raspberry Pi2 (mz20mon) Banana Pi M2-Ultra (mz20mon-bpi仮)
SoC Rockchip RK3288 Broadcom BCM2836 Allwinner R40
CPU ARM Quad-Core Cortex-A17 CPU /1.8GHz ARM Quad-Core Cortex-A7 CPU/900MHz ARM Quad-Core Cortex A7 CPU
GPU ARM Mali-T760 MP4 GPU Broadcom VideoCore IV  MALI-400 MP2 @ 500MHz
Memory Dual-CH LPDDR3 2GB  LPDDR2 SDRAM 1GB 2GB DDR3 SDRAM (shared with GPU)
Storage eMMC 16GB,microSD-Slot microSD-Slot eMMC 8GB,microSD-Slot,SATA-I/F
Ethernet RTL8211E-VB-CG GbE-LAN  LAN9514 10/100Mbps Realtek RTL8211E/D GbE-LAN
WiFi/BT 802.11 b/g/n wireless & BT 4.0 + EDR 802.11 b/g/n (AP6212) & BT4.0 (AP6212)
USB 4 x USB 2.0 ports  4 x USB 2.0 ports 2 x USB 2.0 ports
Pin-Header 1 x 40-pin headers includes:
– up to 28 x GPIO pins
– up to 2 x SPI bus
– up to 2 x I2C bus
– up to 4 x UART
– up to 2 x PWM
– up to 1 x PCM/I2S w/ Slave Mode support
– 2 x 5V power pins
– 2 x 3.3V power pins
– 8 x ground pins
1 x 2-pin Power-on header
1 x 2-pin eMMC recovery header
1 x 40-pin headers includes:
– up to 28 x GPIO pins
– up to 1 x SPI bus
– up to 1 x I2C bus
– up to 1 x UART
– up to 1 x PWM
– 2 x 5V power pins
– 2 x 3.3V power pins
– 8 x ground pins
 1 x 40-pin headers includes:
– up to 28 x GPIO pins
– up to 1 x SPI bus
– up to 1 x I2C bus
– up to 1 x UART
– up to 1 x PWM
– 2 x 5V power pins
– 2 x 3.3V power pins
– 8 x ground pins
OS,Kernel Fedora 27 / kernel-4.4.71+ Fedora 24 / kernel-4.4.30-v7+ Fedora 26 / kernel-3.10.108-BPI-M2U
I2C winringPI,i2c-tools,i2c-tools-python OK winringPI,i2c-tools,i2c-tools-python OK winringBP,i2c-tools,i2c-tools-python OK
SSD via USB-2.0 via USB-2.0 SATA-Native
 Unixbench 924.0 440.7 334.7

Tinker BoardのGPIO

memo
  • /dev/ttyS1 → UART1
  • /dev/ttyS2 → UART2 ※PWMに使うので、UARTはoff
  • /dev/ttyS3 → UART3
  • /dev/ttyS4 → UART4
  • /dev/ttyS0 → BT用?

2/23追記

eMMCへの構築完了。tinker osのみ対応のため、tinker osを構築後、fedora27化を実施。

kernelは、4.3.71+

リアシート(背もたれまでw)、グローブボックス、助手席下も、元に!(2/18)

リアシート側の戻し作業!

スピーカーボードにクッション付けて、ボードを戻しました。

そんでもって、背もたれ部分も戻しました。

約2ヶ月ぶりの姿ですw

お次は、Stradaの地デジ出力(RCAビデオ)を、11.6インチのAV入力へ!

RCAビデオ(アナログ)ですが、結構キレイに映りました!!(流石はIPSパネル)

そして、助手席下の、配線も。。。

かなりスパゲッティ^^;
そのうち、明るい配線計画します。。。^^;

そして、何事もなかった如く、

助手席は元通りにw

いい感じ!

最後に、車内撮影して、本日の作業は終了。

続く。。

助手席モニターリプレース (2/11)

助手席モニターを新調したのでリプレース!!

Eyoyo 12inch LCD
Eyoyo 12 インチモニター HD 1920X1080 IPS LCD VGA/HDMI/BNC/AV/USB機能付き PC&カメラ&CCTV DVRなど対応

まずは、接続確認。

HDMIミラーリングして、Stradaと助手席モニタに出力しているのですが、新しいモニタ側しか映らなくなっちゃった。
うーん。なんでだろう。。

いろいろ実験して、以下の状況が判明

  • そもそも、助手席モニタ外した状態でも、Stradaは映らない。
  • 旧モニタを接続している場合は、Stradaも助手席モニタも映る。
  • 新モニター接続している場合、
    • 640×480では、両方映る
    • 720pでは、助手席側だけ映る
    • 1080iでは、両方映る!!

というわけで、720pのモードが、どうやらStradaとの相性が悪かったみたいです。

なので、1080iでの入力とすることに。

いままで、720p(1280×720)前提で画面レイアウトしてたので、こちらを、1080i(1920×1080)でのレイアウト変更が必要ですね。。。

がんばって、レイアウト変更!

  • Guage,Oclockは、geometory変更
  • urxvtは、フォントサイズと、geometory変更
  • GID3VIEW(自作mp3タグ表示アプリ)は、confにより、フォントサイズと、表示位置変更
  • ODOVIEW(自作odoメータtripメータ表示アプリ)は、confにより、フォントサイズと、表示位置変更
  • vtemp(自作の温度とか表示のやつ)は、ハードコーディングだったので、ソース改修&コンパイルして表示位置変更
    • 画面広くなったついでに、7Mの水温も表示するように追加開発
  • 壁紙も、1920×1080のモノに変更
  • 余ったスペースに、とりあえず、xosviewとxeyesとかを。(w

そんなこんなでできました!

↓旧レイアウト(1280×720版)

新レイアウト(1920×1080版)

11.6インチIPSディスプレイ側表示

ドットバイドットになったのでかなりキレイです!

Strada側表示

うーん、前より滲みが(w。そもそもリアル解像度は1280×720だし、HDMI-I/Fは、800×480入力でアップスキャンコンバートしてるくさいし。まぁ、HDMI-Audioがメインなので、これはこれでOKかな。

助手席側モニター新旧比較

上:旧9インチTFT、下:新11.6インチIPS

Strada画面
11.6インチIPS画面

表示が解決できたので、お次は、マウント編。

今回は、VESAマウント化へ。

マウントキットは、サンコーの液晶モニター壁掛けマウント MARM1150Cを利用!

グローブボックス側も受けのステーを固定!(両面テープ&ボルトナットでしっかり固定)

いい感じ!

では、実車につけてみよう〜

ついたヨ!

完成!!!

 

Strada CN-F1XD 9インチ IPS(ブリリアントブラックビジョン)
リアル解像度:1280×720
表示モード:1080i(1920×1080)
新モニタ 11.6インチ IPS
リアル解像度:1920×1080
表示モード:1080i (1920×1080)
入力端子: HDMI,VGA(DSUB),RCA(ビデオ),BNC,USB
旧モニタ 9インチ TFT
リアル解像度:800×480
表示モード:720p (1280×720)
入力端子:HDMI,ピンジャック(VIDEO)

2/13 追記。

画面下にロゴバー入れました。(w

11.6inch FullHD(1920×1080) IPS

リアのスタビライザーリンク交換〜の富士宮 (2/3)

リアのスタビリンクのゴムがぱっかりしてるので交換!

まずは、ジャッキアップ!

アストロジャッキが大活躍!!

コイツを交換するヨ!

新品なスタビリンク(リア用)

新品なスタビリンク(フロント用、今回は交換しないけどね)

ぱっかりしてるヨ

お昼頃、TOMさんちゃり輸送のため、柏某所へ。

そんでもって、戸田にちょこっと寄り道して、交換手伝ってもらいました。^^;

まずは、右側外したヨ。

新旧比較。左:新品、右:仕様済。

そんでもって、取付!

左側も交換して、終了〜

その後、TOMさんを相模原へ送り、富士宮へ。

夜中に富士宮で、サーバーリプレイス!

↓撤去したコ

ホコリまみれ。。HDDがお亡くなりかけなので、引退。4年間お疲れ様でした!

そんでもって、設置したコ↓

 

CPU Intel(R) Core(TM) i3-4030U CPU @ 1.90GHz(DualCore-HT) Intel(R) Celeron(R) CPU 1007U @ 1.50GHz (DualCore)
RAM DDR3 8GB*1 DDR3 4GB*2
Storage SSD 120GB HDD 500GB
OS Fedora Release 27 CentOS 6.9