趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。※サイト移転しました(tomono.eleho.net ⇒ tomono.tokyo)
RSS icon
  • 秋月ドップラーセンサーキットをテストしました

    投稿日 2018年 11月 5日 コメントはありません

    3Dプリンタでケースを作った秋月ドップラーキットですが、テストしてみました。

    環境はLinuxMint19です。

    1.準備

    • システム管理の「ユーザーとグループ」でdialoutグループに自分のユーザーを追加
    • synapticでmoserialをインストール
    • 一旦再起動(実際にはログアウト/再ログインでいいはず)

    2.通信ソフトのセットアップ

    • アクセサリの下のmoserialを起動
    • 「ポートの設定」で、デバイスを/dev/ttyUSB0(環境による)、ボーレートを9600、データのビットを8、ストップビットを1、パリティをodd、ハンドシェイクは両方共チェックなし、アクセスモードはRead and Write、ローカルエコーはチェックありに設定

    3.接続

    で、「接続」を押して接続・・・・すると、そこは USB-UARTチップがFT234Xなので、見事にデスクトップがハングアップしました。正確には、moserialは動いていて、@ERと@EOが繰り返し送られてきて表示されるのですが、何も操作できません。で、一旦、USBケーブルを抜いて、再度刺したらデスクトップが復活しました。

    うーむ、相変わらずですね、FT234X。どうにかならないんですかねー??
    でも、ぐぐっても、FT234XとLinuxの組み合わせでダメという情報は少ない。うまくいったという情報も少ないのだけど。(もっと正確に書くと、うまくいったという情報はポツポツあるのだけど、本当にFT234Xのままでうまく行っているのか、他のFT232R系のものに変えてうまく行っているのか曖昧なものが多いような気がする)

    うまく行かないのは自分だけなんだろうか??


  • LinuxMint19にLTSpiceをインストールしてみる(2)

    投稿日 2018年 10月 20日 コメントはありません

    どうも、wineの最新版は、WineHQを公式ページからインストールするのが良さそうです。ですので、まずsynapticでwineで検索して、wine1.6、wine32など、関連しそうなパッケージを削除した後、

    で不要と思われるパッケージを一掃して出直します。

    公式ページの記載に従って、

    とするのですが、最後のupdateで、

    E: リポジトリ https://dl.winehq.org/wine-builds/ubuntu/sudo bionic Release には Release ファイルがありません。
    N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。
    N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。

    となってエラーになってしまいます。うーん、ローカル側の感じがしないので、どうしたものか。
    後戻りしてしまいました。


  • LinuxMint19にLTSpiceをインストールしてみる(1)

    投稿日 2018年 10月 20日 コメントはありません

    【注意:Synapticに初めから出てくるのは古いバージョンの可能性があるので、wineとwine32を削除後、$ sudo apt-get autoremove とした後、現在違う方法でやり直しています。】

    ちょっと回路シミュレーションをしてみたくなったのですが、できればLinuxでやりたい。でも、GUIで簡単にやりたい。そして、今動かすならLTSpiceでしょう、というところなのですが、残念ながら、LTSpiceはWindowsとMacOS X用しか用意されていない。・・・となれば、Wineでトライしてみます。

    いつものようにSynapticパッケージマネージャを起動、「Wine」で検索するとでてくる「wine1.6」を選択して依存パッケージとともにインストールします。

    引き続き、LTSpiceのWindows版をダウンロードして、ダウンロードしたファイルに実行属性を付けます。

    引き続き、Wineで実行してみます。

    ということで、エラーになってしまいました。LTSpiceが32bit版のためのようです。

    として大量のライブラリをインストールしてから、改めてトライしてみます。

    とすると、しばらく沈黙したあと、以下のようなインストーラのウインドウが表示されるのだが、

    ご覧の通り、文字化けしている。検索するとよくある現象の模様。
    こちらのページを見ると、winetricksというツールで解消できる模様。

    で起動して、「Select the default wineprefix」⇒「Install a font」⇒「cjkfonts」であとは従っていくとインストールできる。途中、警告がいくつか出るが、実行中のWineプログラムが終了されるというもののようなので、はじめから何も実行していなければそのままOKでよいはず。

    $ wine LTspiceXVII.exe

    でインストーラが起動し、まだ一部文字化けはあるもののなんとかインストール、起動まではたどり着きました。

    以下のあたりも参考になりそうです。https://forums.ubuntulinux.jp/viewtopic.php?pid=118386

     


  • HDDの状態をSMARTで調べる

    投稿日 2018年 8月 15日 コメントはありません

    整理したら古いHDDがたくさん出てきました。それぞれの状態を見てみたいと思います。
    HDDの状態を見るといえばSMARTですが、Linux Mintの「ディスク」ユーティリティでもSMARTの状態を見ることができます。

    ディスクユーティリティを起動して、対象とするHDDを選択したところです。ここではeSATAで外付けにしたHDDを選択しています。

    右上の方のメニューに「SMARTのデータとセルフテスト」というのがあるので、これを選ぶと、最後に取得したデータが表示されるようです。

    このHDD、自分の父がHDDを交換したので処分したい、ということで引き取ってきたものなのですが、どうも過去に温度条件の良くないところに突っ込まれてたのでしょうか。温度自体ではなく、Airflow Temparatureなので、筐体の温度ということではないのかもしれませんので、ファンでも壊れてたんでしょうか??(西日のあたるところに置かれてたようですが、それでも??)
    それ以外は特に問題はないようです。

    簡単に扱うならこれでいいのですが、できれば記録に残したいところです。そういう場合はCLIの方が便利です。

    標準ではコマンドラインのツールは入っていないようなので、

    としてインストールします。–info オプションをつけて smartctl コマンドを実行すると、デバイスの概要を表示してくれます。型番やシリアルナンバーも表示してくれるので、管理には便利です。今回は対象のデバイスが /dev/sdb ですので実行すると以下のような感じになりました。(他のデバイスで行うときには /dev/sdb の部分は読み替えてください)

    最後の行にSMARTが有効かどうか記載されていますが、無効の場合には以下の方法で有効化する必要があります。

    デバイスが対応しているテストを調べます。

    最後の方に記載されている内容によれば、shortテストは2分、extendedテストは90分、conveyanceテスト(輸送時の影響を調べる)だと6分かかるようです。
    90分は長いので、shortテストを起動してみます。

    ということですぐ帰ってきます。実際の処理はバックグラウンドで行われるようです。なお、extendedテストを実行する場合は-tの後ろはlong、conveyanseテストを実行する場合はconveyanseを指定します。

    テスト結果を表示してみます。

    テストは無事にPASSしましたが、Airflow Temparatureのイベントに注意、ということみたいです。

    最新のテスト結果のリストを表示してみます。

    詳細の情報を表示してみます。

    Arch LinuxのS.M.A.R.T.の項目を参考にしました(というか、概ねそのままです)


  • WindowsとLinuxで時計が狂うのを直す

    投稿日 2018年 8月 1日 コメントはありません

    昔から Linux と Windows のデュアルブートが可能な環境でOSを行き来すると、時計が大きくずれる現象が発生していました。これは Linux ではPCのハードウェア時計(RTC)が UTC(協定世界時)で動作しているのを前提としているのに対し、WindowsではRTCはローカルタイム(JST=日本標準時)で動作しているのを前提としており、それぞれのOSがNTPを利用して時刻修正を行って、それをRTCに反映していることが原因でした。

    以前のバージョンのLinuxでは、 /etc/default/rcS に UTC=no と記載することにより、RTCの設定がローカルタイムであることを設定できたのですが、いつの頃からか /etc/default/rcS は存在しなくなっていました。

    最近は Linux を使うことがほとんどで、それでもあまり困らなかったのですが、その修正方法がわかったのでメモしておきます。修正は以前と同様、Linux側で行います。使用するコマンドは timedatectl コマンドです。

    ということで、最後の行にRTCがローカルタイムゾーンか否かの記載があります。で、

    とするとこの設定を変更することができます。ところでこのコマンド、ハードウェア設定の変更に関わるものなのですが、root権限がなくても設定できてしまいます。(いいのかな?)

    設定変更後に再度設定状況を読み出すと、

    という感じで、警告が表示されます。


  • Jumper Ezbook Pro 3にLinuxMint19をインストール

    投稿日 2018年 7月 26日 コメントはありません

    先日購入した Jumper Ezbook Pro 3 に LinuxMint19をインストールしてみました。

    LinuxMintは内蔵のeMMCの領域ではなく、増設した32GBのmSATAのSSD(安かった KingDian の JP-N400 32GB)にインストールすることで、Windows10は丸ごと温存します。

    1.BIOSでUSBメモリからの起動を選択。

    今回は Linux Mint 19 MATE の64bit版をインストールします。ISOイメージをダウンロードしてハッシュ値を検証した後、USBイメージライタでUSBメモリに書き込みます。書き込んだUSBメモリをEzbook3 Proに取り付けて電源投入しますが、すぐにDELキーを連打してBIOSに移行、起動デバイスをUSBメモリに変更してから起動します。

    2.WiFiの設定(SSID選択、パスワード設定)

    起動するとすぐにWiFiを見つけて設定するように促されますが、ここでは設定しません。リリースノートを見るとgrubのインストールに失敗する障害があり、その対策としてインストール時にネットワークに接続しない、というものが挙げられています。これでだいぶ時間を取られてしまいました。

    3.内蔵eMMCを禁止。

    起動後、ブートローダ等を含めて温存したいので、内蔵eMMCを禁止します。

    実行すると、デスクトップ上のSDカードっぽいアイコンが消えます。ひょっとすると(おそらく?)内蔵のMicroSDカードリーダーも見えなくなるかもしれません。この状態でもちゃんと内蔵のMicroSDカードリーダーは見えます。

    4.増設したmSATA SSDを初期化

    ディスクユーティリティを使ってSSDを初期化します。初期化しないとこのSSDは全く見えず、インストーラも認識してくれません。

    5.インストーラを起動してインストール実行

    インストーラを起動、言語は日本語、キーボードレイアウトは 英語(us) を選択。特に難しいところはありません。

    6.インストール完了後の設定

    まずは誤操作でWindows10のパーティションを壊さないよう、内蔵eMMCを見えないようにします。

    /etc/rc.localとして以下の内容のファイルを作成します。

    次に、/etc/systemd/system/rc-local.serviceとして以下の内容のファイルを作成します

    起動時に自動実行するように設定します。

    これで起動後ログインするとeMMCの内容が見えなくなりました。

    後は、通常のLinux Mintの設定と大差ありません。

    • WiFiの設定
    • アップデートの実行
    • 言語設定で不足しているファイルをインストール
    • 言語設定でIMEを選択。今回はfcitxを選択しました。ibusではUSキーボードで日本語入力モードへ移行するキーバインドが見つかりませんでした。fcitxの場合にはCTRL+SPACEに割り当てられています。

    といったところです。


  • LinuxMint19をAthlon5350マシンにインストール

    投稿日 2018年 7月 1日 コメントはありません

    日本時間で6/30にLinuxMint19がリリースされました。Ubuntu18.04LTSベースなので、長期サポートが期待されます。(Webサイト上でも2023年までサポートって書いてあります)

    で、いつものMATE版を以前組んだAthlon5350マシン(メモリ8GB+SSD64GB)に入れてみます。このマシンはこれまでは32bit版を入れていたのですが、さすがに今回は64bit版をインストールします。

    インストールはUSBイメージライタでISOイメージをUSBメモリに書き込んで、そこから起動します。割と短時間で終了します。

    インストール完了後、再起動して、アップデートマネージャでアップデートを適用します。その後、言語設定で「言語のサポート」から一番下にある日本語を選んで、「言語パッケージのインストール」を行います。次に入力方法で言語サポートの中から日本語を選んで「インストール」を行います。入力方法はデフォルトのfcitxのままにしました。(fcitxだとメニューの中に簡体中国語の表示のままのツール〔fcitx-qimpanel-configtool〕が出てくるので、ちょっと嫌なところはあるのですが・・)

    基本的にはこれでおしまいなのですが、途中でSystem Snapshotを設定しろと煩かった(まあ、無視してもいいんですが)ので、試しにやってみます。System Snapshotを起動すると、スナップショットのタイプとしてRSYNCとBTRFSを選択するよう表示されます。デフォルトの選択はBTRFSの方になっているのですが、よくみると、インストール時点でBTRFSパーティションでないとダメと書いてありましたので、RSYNCの方にしてみます。(BTRFSだとファイルシステム自体の機能により瞬時にスナップショットが取れて、瞬時に戻せるようです)スケジュールは毎週(Weekly)にしてみました。初期状態だと、スナップショットがないので、初回だけCreateを押して、スナップショットを取ってみることにしました・・・・が、途中でクラッシュしてしまいました・・・。ということでヤメヤメ^^;

    ・・・で、このPCはいろいろ調査(主にWeb上)する際に使っています。以前はLinuxMint17とかLinuxMint18(非力なのでいずれもMATE版)を使っていたのですが、メモリコントローラがシングルチャネルのせいなのか64bit版では重くて、32bit版を入れていました。今回はさすがに64bit版にしたのですが、以前ほど重い感じはなく、ずいぶんと軽快になった印象です。理由はよくわかりませんが、体が慣れたのか、ブラウザが軽くなっているのか、Xサーバーが改善されているのかそれともウインドウデザインがシンプルになっているからなのか・・・?

    まあ、主にWebで使うだけとしては十分なパフォーマンスになったように思います。


  • Windows10からLinuxMint上のHL2240Dに印刷する

    投稿日 2018年 3月 26日 コメントはありません

    自宅の環境の整理をしているのですが、これまで不便だったのがWindows10からプリンタ(ブラザーのHL2240D)に印刷する時でした。正直、なぜLAN内蔵モデルにしなかったんだろう、というのがこれまでの悩みでした。

    が、今回、Windows10からLinuxMintに接続したHL2240DにLAN経由で印刷することができるようになりましたので、メモしておきます。

    1.LinuxMint側で印刷できるようにする

    これは以前の記事のブラザーのレーザープリンタ買いましたを見て下さい。インストールしたら、「システム管理」→「プリンタ」でHL2240Dを「共有する」にチェックを入れておきます。

    2.名前解決できるようにする

    LinuxMintのマシンはDHCPでアドレス設定しているので、名前解決できる必要があります。で、簡単なのはavahi(mDNS)なので、そちらの準備をします。
    Linux側はavahi daemon(Mintは初めから入っているような気がする)を入れておきます。Windows側は、Appleのサイトから「Bonjour Print Services (Windows)」をダウンロードしてインストールして、Windowsファイアウォールで 5353/UDP を許可しておきます。インストールしたら、Windows10のコマンドプロンプト/Linuxのシェルから「ping 相手のホスト名.local」で応答が返ってくるのを確認します。

    3.プリンタの追加

    「Bonjour Print Services (Windows)」をインストールした時に追加された「Bonjour プリンターウィザード」を起動すると、勝手にLinuxMint上のプリンタを見つけてくれました。ウィザードに沿って操作していくのですが、Brotherのドライバが同名でたくさんあってよくわかりません。とりあえず、「Brother Laser Type2 Class Driver」の中の一番下のをインストールして、テスト印刷したらうまくテスト印刷できました。印刷結果ではドライバーの種類が「Type 4 – ユーザーモード」となっていました(よくわかりませんが)。


  • 秋月のLPC11U35マイコンボードを動かしてみた

    投稿日 2017年 7月 10日 コメントはありません

    久しぶりに秋月へ行ったら、「USBメモリにファイルを書き込むのとほぼ同様の手軽さでプログラムを書き込むことができます」という触れ込みのマイコンボードが安く売っていたので、買ってみました。

    で、動かしてみるべく、Linuxマシン(環境はいつものLinux Mintです)へ接続すると、確かにマスストレージデバイスとして認識します。で、秋月のWebサイトにある動作確認用ファームウェアを書き込んで、リセットしてみても、再びマスストレージデバイスとして認識されて、LEDが点滅する気配がありません。

    mbedとしても動作する、というのでサンプルプログラムを作って同様に書き込んでみてもサッパリです。linuxではドラッグアンドドロップでの書き込みはうまく行かないのかと思って、コマンドラインで cp コマンドでコピーしてみてもダメです。

    で、ぐぐってみたら、どうやら linux ではそもそもファイル書き込みではうまくいかないようで、こちらの情報によると先頭の4ブロック(2キロバイト?)を削ってddで書き込むとうまく行くようです。

    ただ、デバイスファイルなんていろんな要因で変わってしまうので、毎回やるのは面倒ですし、事故のもとなので、pythonのスクリプト化しました。

    lsblkコマンドで見た時に、転送方法が usb で、モデルが’LPC1XXX IFLASH  ‘となっているデバイスファイルを探して、そのデバイスファイルをアンマウントして、ddコマンドで書き込むだけです。スクリプトファイル⇒mbedにlinuxから書き込むためのスクリプト

    ルート権限が必要なのは変わらないので、sudo 付きで python スクリプトを実行します。

    みたいな感じで使います。(途中の umount とか dd コマンドの行はこのスクリプトの処理内容を表示しているだけで、書き込みに必要な操作は最初の1行目だけです)

     


  • Nexus7(2012)にAndroid 6.0(MarshMallow)をインストール

    投稿日 2017年 2月 18日 コメントはありません

    いまさらながら、Nexus7(2012) 3GモデルにAndroid 6.0(MarshMallow)をインストールしてみました。

    1.準備

    環境は例によって Linux Mint 18 (64bit)です。 android-tools-adb とか、android-tools-fastboot などのandroid関連のパッケージは apt でインストール済みです。

    ダウンロードしておくものは以下のとおりです。Nexus7(2012) 3Gモデルは開発コードが tilapia というらしく、この tilapia 向けのものを用意しておく必要があります。

    • TWRP
      Term Win Recovery ProjectというソフトウェアでAndroidに内蔵されているリカバリプログラムを置き換えるものです。ROMイメージはTWRP用の物が多いので、TWRPがないと書き込めません。自分は twrp-3.0.2-0-tilapia.img をダウンロードしてきました。
    • ROMイメージ
      tilapia用のイメージを探します。だいたい xda-developper にたどり着くようですが、1つは pure AOSP というものですが、6.0.1 の r46 ベースのようです。もう1つは OmniROM というもので、 6.0.1 の r68 ベースのもののようです。(自信なしw)
      これらの記事からリンクされているROMイメージをダウンロードしておきます。
    • Gapps
      Google Playを始めとするデフォルトインストールアプリの詰め合わせのようです。Openソース版(かな?)がOpenGAPPSからダウンロードできます。PlatfomはARM、Androidのバージョンは6.0、VariantについてはNexus7(2012)はシステムパーティション(=リカバリ領域?)が650MBしかないので、最小限のnanoかpicoを選んでダウンロードします。

    2.TWRPのインストール手順

    音量ダウンボタンを押しながら電源ONしてブートローダを起動します。倒れたドロイドくんが出てくる画面(ブートローダ)になったら、PCと

    としてTWRPを書き込みます。書き込んだら、ブートローダを以下の手順で再起動します。
    (ここで通常のシステム起動を行うと、リカバリが書き戻されるので、再度最初からやりなおし)

    ブートローダが起動したら、音量ボタンでリカバリモードを選択して電源ボタンで選択するとTWRPが起動します。
    起動すると、画面上部に「Unmodified System Partition」と表示されて、システムパーティションの内容がTWRPが起動できるようになっていないことが表示されます。下の方の「Swipe to Allow Modification」のところをスワイプして、次へ進みます。(おそらく、この操作で常にTWRPが起動するようにシステムパーティションが修正されます)

    次回以降、リカバリを起動すると上記の青字の部分は聞いてきません。(システムパーティションを書きなおしたりすると、デフォルトのリカバリに戻ったりするので、再度インストールする必要がある場合があるようです)

    3.ROMイメージの書き込み

    今回は、PCからROMイメージを書き込みます。

    ブートローダ経由でTWRPを起動します。(ちなみに、充電ケーブルが挿さっていると、ブートローダで音量上下ボタンが効かないようです)
    「Advanced」⇒「ADB Sideload」を選択します。ROMイメージを書き込みする場合は「Wipe Dalvik Cache」と「Wipe Cache」にチェックを入れて、「Swipe to Start Sideload」をスワイプすると、ダウンロード待ちになるのでPC側から

    として、ROMイメージファイルを書き込みます。(zipファイルがROMイメージファイルのファイル名です。)
    完了したら、Android側で「Back」を押して、もう一度「ADB Sideload」を選択します。今度は「Wipe Dalvik Cache」と「Wipe Cache」のチェックは外して、再度「Swipe to Start Sideload」をスワイプします。

    として、Gapps を書き込みます。(zipファイルがGappsファイルのファイル名です。)

    完了したら、「Reboot System」でNexus7を再起動します。