hostapdが起動しない時の確認事項
Ubuntu 14.04LTS以降のOSでは未確認です。
Ubuntu 18.04LTSではIPの固定の割り振り方が従来の方法と異なっているため上手く動かない可能性があります。
時間ができたら新しいOSの方でもトライしてみます。
hostapdを使用しようとすると、うまく起動しない場合があります。
とりあえず考えられる場合を挙げます。
githubのREADME用に設定を書いた記事があるので、そちらも参考にしてみてください。
kosuke128.hatenadiary.jp
pandasで読み込んだcsvにカラム名前を付けたい
最近Pythonを触る事が増えてきていて、matplotlibやpandasを触り始めた。
data = pd.read_csv('data', sep=' ', index_col=0)
とかやってcsvからデータを取得した時に、各カラムに名前を付けていなかった為、
data.plot()
とかやると、x軸のラベルが意図したものになってくれなくて困ってた。
色々本やサイトでコードを見てたら、
data = pd.read_csv('data', index['AAA', 'BBB', 'CCC'])
とか、
data = pd.read_csv('data', names=('AAA','BBB', 'CCC'))
って書いてある物が多くて、IPythonで入力してたけれどもエラーばっかり返ってきてた。
他の表現方法とか調べて色々やってたけどうまくならなくて、結局、
data = pd.read_csv('data', names=("AAA", "BBB", "CCC"))
という風に、シングルクォーテーション ' 'を、ダブルクォーテーション " "に変更したらあっさり出来た。
全然分からなくて1時間ぐらい時間が取られたのが悔しい・・・。
よく出てきていたエラー文追記。
NameError: name 'AAA' is not defined TypeError: parser_f() got an unexpected keyword argument 'args' SyntaxError: non-keyword arg after keyword arg
とりあえず、一番上のものをよく見ました。他の原因で同じようなエラーが出てこのサイトに来た人は、もしかしたら...程度に参考にしてください。
ibus-anthyの変換がダメ過ぎる。
Ubuntuでの文字入力をibus-anthyにしていたが、やっぱり変換がクソダメ過ぎて、作業効率がぐっと下がるので、fcitx-mozcに変更した。
ターミナル上で、
sudo apt install fcitx-mozc
インストール後に、[システム設定]の中の[言語サポート]を開く。
インプットメソッドを[ibus]から[fcitx]に変更して、再起動か、ログアウトする。
その後、アプリケーションから[Fcitxの設定]を開き、Mozcを追加する。
ibus-mozcでも試したのですが、なんか上手くいかなかったので、fcitxの方で。
変換精度も凄く良くなった(ibus-anthyに比べて)ので、作業効率が上がった気がします。
そもそも変換候補窓が、画面の左下とかに行ったりといったバグが直ってくれたのが地味に嬉しい。
ここから余談
続きを読むhostapd 2.6でpthread(Make編)
hostapdのソースコードを自分で変更してマルチスレッドでhostapdを起動させる必要が出てきた。
恐らく現時点でhostapdはシングルスレッドで動作をしているっぽい。
※ちなみにソースコードを変更したファイルは、hostapd-2.6/hostapd/main.cです
なので、Makeする時に
/usr/bin/ld: main.o: シンボル 'pthread_create@@GLIBC_2.2.5' への未定義参照です //lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make: *** [hostapd] エラー 1 make: *** 未完了のジョブを待っています....
のエラーが吐かれてしまう。
さすがにこの為だけにMakeの勉強をするのは非常に野暮だなぁと思ったので、ひとつずつ片っ端から試してみました。
結果としては、Makefile内の609行目辺りにあるLIBSに-lpthreadを追加する。
605: ifeq ($(CONFIG_TLS), openssl)
606: ifdef TLS_FUNCS
607: OBJS += ../src/crypto/tls_openssl.o
608: OBJS += ../src/crypto/tls_openssl_ocsp.o
609: LIBS += -lssl -lpthread
610: endif
これでmakeする時にエラーが吐かれなくなりました。
自分の場合はmain.cだけを変更したのでMakefileの変更箇所は一箇所で済みましたが、他のファイルを変更する場合はまた別の箇所を変更する必要がありそうです。