プログラミングなんてわからないんですけど〜

元プログラマによるプライベートでのプログラミング日記。たぶん1/3くらいしかプログラミングの話はしません

apnもろもろ違っていたのに気づかずに二週間ばかし悩んで徹夜までした話

raspberry piでpleromaというソフトを動かしているんですけど、自宅の有線LAN環境がグローバルアドレス割り振られない環境なので、まずは手っ取り早くモバイルルータ使ってインターネットに接続していました。
個人的にはモバイルルータよりusbモデム使って接続したかったので、手元に残っていたsimをusbモデムに刺してwvdialでppp接続を試みました。色々ググってなんとかppp接続ができたんですが、どうしてもusbモデム経由でインターネットにアクセスできなかったのです。ログとかみても一見変なところは見当たりません。試行錯誤して二週間が過ぎました。
中古の別のusbモデムを入手したので、ある日帰宅してからraspberry piとかwindows10のデスクトップとかで接続テストを繰り返してみましたが、接続状態にはなるのに一向にインターネットにアクセスできない状態が続きました。
深夜、ひとまず今まで試した環境でのテストはあきらめて、gpd pocketに入れたUbuntuのブロードバンド接続をしてみました。実は今まで試していたプロバイダの設定とは別のプロバイダの設定が済んでいたんですが、usbモデムを接続して設定済みのプロバイダを選んだら、なぜか接続状態を示すランプが点灯し、webブラウザでインターネット上にあるサイトが閲覧できたのです。
「なんでつながるんだ?」と頭が混乱してしまいましたが、今まで試していたプロバイダの設定を入れて試したら案の定webブラウザには「インターネットに接続できません」の文字が・・・。そこでやっと気がつきました。今使おうとしていたsimは、ocnモバイルoneから入手したものではなくてnifmoから入手したものだったんだと。
いやー、ocnのapn設定とか入力してppp接続しても、一応ipアドレスが割り振られてnameserverも設定されるんですね。でも、ルーティング情報?が正しく設定されないのか、もしくはocn側でsimがocnのものではないと判断して通信が遮断されるみたいですね。一応、手元にあるsimの電話番号はメモにまとめていたのでそれを見ればどこのものか判断できたのに、思い込みで2週間プラス徹夜を費やしました。
なんだかまとまりがない文になりましたが、こんな凡ミスもあるんだという反省を込めて書いてみました。

GPD PocketのUbuntu17.10でHDMIから音を出す

f:id:kaias1jp:20180308190624p:plain

体調を崩しているので縮小更新で。
GPD PocketはHDMI出力ができるわけですが、Ubuntu17.10でカスタムカーネルを使ってもHDMIから音を出すのはすぐにはできません。
海外の掲示板で「Arch LinuxのALSA-lib 1.1.5を使うと出力できるよ」という記述を見つけて、Ubuntuならどうだろうなあと思ったところ、標準で入っているのは1.1.3のようなので、ソースをゲットしてビルドしてみました。
ビルドに当たって参考にしたのは以下のサイトです。
天助自助者 Raspberry pi での ffmpeg ビルドの覚書

ちがうところはconfigureの呼び出しだけ。私は単純に以下のように呼び出しました。

./configure

ついでにカスタムカーネルも最新化。
github.com

再起動してHDMIをつなぐと、soundの設定項目に選択肢が増えていました。
f:id:kaias1jp:20180308191744p:plain

自分の環境では「HDMI/Displayport 2」で無事音が出ました。

Raspberry Piでサーバを構築する(OSインストールからssh接続まで)

f:id:kaias1jp:20180307055738p:plain
今回から数回に分けて、Raspberry Piでサーバを構築していくのを記事にしたいと思います。
今日は、OSのインストールからssh接続ができるまでです。なお、ハードはRaspberry Pi3を想定しています。

まずOSのインストールです。Raspberry Piで使用できるOSはいくつか存在しますが、今回はサーバ用途としてRaspbian Liteを選択します。このOSを選択した理由はいくつかありますが、普通使うRaspbianとの互換性があるのでネットに参考になる情報が多いのと、他のOSに比べて安定性がある点を考慮に入れました。

Raspberry PiのOSインストールですが、現状、Windows/macOS/Linuxなどが動いているコンピュータが必要だと考えています。これは、OSのイメージファイルをmicroSDに書き込む操作がこれらでしかできないからです。もし、androidやiOSなどでもできるようでしたら情報をいただけると助かります。

Raspbian Liteはイメージファイルの形式で配布されています。このファイルはSDカードへの書き込みソフトを使用することで簡単にOSのインストールができるようになっています。まずは、Raspberry Piの公式サイトからダウンロードしましょう。
www.raspberrypi.org

右下にある「RASPBIAN STRETCH LITE」の「Download ZIP」をクリックして、まずはzip形式のファイルをダウンロードしてみましょう。
f:id:kaias1jp:20180307061503p:plain

ネット回線の速度にもよりますが、1時間もあればダウンロードできるはずです。
ダウンロードしたら、zipファイルをimgファイルに変換します。方法がわからない人は、「zip 解凍」などのキーワードで検索してみてください。
imgファイルができたら、これをmicroSDに書き込みます。microSDはSDカード変換アダプタとSDカードリーダ・ライタを使用してコンピュータに接続するのが良いでしょう。書き込みにはいろいろなソフトがありますが、今回は「Etcher」というソフトを使用します。
etcher.io
書き込み用のコンピュータにインストールすると次のアイコンが追加されると思いますので、起動します。
f:id:kaias1jp:20180307062241p:plain
書き込み方法はシンプルです。

  1. imgファイルを選択する
  1. 書き込み先のSDカードを選択する
  1. 書き込む

f:id:kaias1jp:20180307062417p:plain

普通は書き込めたらすぐにでも使用できるのですが、今回はssh接続をすぐにしたいのでひと工夫。書き込みが終わると1つ以上の領域(パーティション)がコンピュータに追加で表示されるかと思います。この中の「boot」というパーティションに「ssh」というファイルを作成してください。
f:id:kaias1jp:20180307063101p:plain
windowsなどでは、ファイルの作り方によって拡張子(.txtなど)がついてしまう場合がありますので注意してください。
こうしてできたmicroSDファイルをRaspberry Piに差し込んで電源を入れれば起動できるはずです。
f:id:kaias1jp:20180307063458j:plain

ssh接続まではもう少しです。Raspberry Piを有線LANに接続してください。無線LANも使えますが、今回は方法含めて省略します。普通の環境なら、DHCPによってIPアドレスが自動で割り当てられます。そうすればネットワークに接続できた状態になります。だいだい、raspberry Piに割り当てられたIPアドレスを何らかの方法で調べて接続するのですが、Raspbian Liteは最初からmDNSという機能に対応していますので、「raspberrypi.local」という名前で接続できます。なお、接続元のコンピュータによってはmDNSに対応していない場合がありますので、その場合はIPアドレスで接続してください。

「ssh pi@raspberrypi.local」で接続するとパスワードを聞いてきますので、初回は「raspberry」と打ちましょう。これでsshでRaspberry Piに接続できました。

ssh pi@raspberrypi.local

f:id:kaias1jp:20180307064416p:plain

以上でssh接続ができるようになりました。お疲れ様でした。

Raspberry Pi 3を追加購入しました

f:id:kaias1jp:20180306201601j:plain

自宅で使っていたRaspberry Pi 3の予備がなくなったので、追加購入しました。
Amazonで買いましたが、たぶんもっと安いところはあるはずなので、参考まで。

Raspberry Pi Raspberry Pi3 Modle B Element14

Raspberry Pi Raspberry Pi3 Modle B Element14

組み上げたところまでを写真載せます。
f:id:kaias1jp:20180306202205j:plain
f:id:kaias1jp:20180306202226j:plain
f:id:kaias1jp:20180306202330j:plain
f:id:kaias1jp:20180306202357j:plain

組み上げたはいいんですが、きちんと起動するか確認するためにはOSが必要ということで、
Raspbian Liteをダウンロード&インストールしてみました。
ま、動きますわな。

f:id:kaias1jp:20180306205054j:plain

一応、サーバ用途で使おうと思っているので、それがらみの話は別のエントリで書きたいと思います。

#ちなみにー、sshで簡単につながるのよねん、最新版は。名前解決もほら。

f:id:kaias1jp:20180306205609p:plain

Windows10で各種Webブラウザを自動起動してみた

昨日からwindowsマシンを再度使い始めてみました。
使っているうちに気になったのは起動時にアプリが自動起動されていないこと。iOSに慣れすぎたのかもしれませんね。

というわけで、まずはWebブラウザを自動起動してみました。

続きを読む

Arrows tab Q584/HXにubuntu desktopをインストールしてみた

f:id:kaias1jp:20170514204944j:plain
ACアダプタの中古をゲットしましたので、ubuntuをインストールしてみました。いろいろ試した結果、14.04ならインストールできました。ただし、インストールには一工夫必要です。まず64bit版をインストールするためには32bit版uefi に対応したバイナリファイルを手に入れる必要があります。thinkpad 8などで試されている方が多いのですが、usbメモリにインストーラを入れてそこにファイルを追加することで回避します。あとは、一般的なatom z3770タブレットと同じです。
結論から言いますと、環境を最新化できるかわからないためあきらめました。32bit uefi が悪いんじゃあ。あ、ドッキングキーボードは普通に動きますし、高解像度でますし、タッチパネルも動きますので、根気のある方は試すと良いかと。さて、windows10再インストール試しますか。