チラシの裏の電子工作

電子工作、PC関係の備忘録というか、チラシの裏

Windows10で黒い画面が一瞬だけ出る問題

作業してたら、コマンドプロンプトのような黒い画面が一瞬だけ表示されることに気が付いた。
仕事用のPCでも、自宅で使ってるPCでも同じように出る…
2017年5月に入ってから発生するようになった気がするけど、明確な時期はわからない。

起動時とか、1日1回とかいうわけでもなく、1日に数回目にする。
特に問題があるわけじゃないんだけども、何となく気持ち悪いし、フォーカスを一瞬奪われてイラっとするので調べてみた。

最初は発生タイミングがよくわからなかったのだけど、1時間に1回発生していることに気が付いた。
画面キャプチャ動画を撮るなり、セキュリティポリシーでプロセス開始ログをとっても良かったんだけども、きっかり1時間ごとだったのでALT+PrintScreenで手っ取り早く捕まえてみた。
(が、画像を保存し忘れた)

で、結局謎のウインドウは、officebackgroundtaskhandler.exeだった。
タスクスケジューラを見てみると、\Microsoft\office\OfficeBackgroundTaskHandlerRegistrationがそれっぽい。
確かに1時間に1回実行されるようになってる。

ググってみたら同じ症状の人が解決策を掲載してた。

吟遊詩人の戯言 【#Windows】定期的に小さなウィンドウが開いてすぐ閉じる:officebackgroundtaskhandler.exe じゃげな

なるほどね、、、実行するユーザをSystemにすておけば確かに表示は出なくなるか。
MSが作った時にデバッグ用のコンソールウインドウを表示しないようにし忘れたとか、そんな話なんかな…

多分、ほっといても来月のアップデートで治る気がするけど。
スポンサーサイト

カテゴリ:PC

ArduinoでPCINT割込

Arduinoで割込といえばINT0/1だけど、沢山のピンで割込を使いたい時のメモ。
(Arduino0023/ATmega168P)

たまに使おうとすると、PCINT,PCMSK,PCIEの対応を忘れていて調べるのが非常にめんどくさいので、もう定型にしてしまおうというものぐさ。


#define SW_INT_PCICR ((1<<PCIE0)|(0<<PCIE2)|(0<<PCIE2))
#define SW_INT_PCMSK0 ((1<<PCINT0 )|(1<<PCINT1 )|(1<<PCINT2 )|(1<<PCINT3 )|(0<<PCINT4 )|(0<<PCINT5 )|(0<<PCINT6 )|(0<<PCINT7))
#define SW_INT_PCMSK1 ((0<<PCINT8 )|(0<<PCINT9 )|(0<<PCINT10)|(0<<PCINT11)|(0<<PCINT12)|(0<<PCINT13)|(0<<PCINT14))
#define SW_INT_PCMSK2 ((0<<PCINT16)|(0<<PCINT17)|(0<<PCINT18)|(0<<PCINT19)|(0<<PCINT20)|(0<<PCINT21)|(0<<PCINT22)|(0<<PCINT23))

ISR(PCINT0_vect){
    Serial.println("PCINT0_vect");
}
ISR(PCINT1_vect){
    Serial.println("PCINT1_vect");
}
ISR(PCINT2_vect){
    Serial.println("PCINT2_vect");
}

void setup(){
    //割込有効化
    PCICR  |=SW_INT_PCICR;
    PCMSK0 |=SW_INT_PCMSK0;
    PCMSK1 |=SW_INT_PCMSK1;
    PCMSK2 |=SW_INT_PCMSK2;

    delay(10000);

    //割込無効化
    PCICR  &=~SW_INT_PCICR;
    PCMSK0 &=~SW_INT_PCMSK0;
    PCMSK1 &=~SW_INT_PCMSK1;
    PCMSK2 &=~SW_INT_PCMSK2;
}

void loop(){}



美しくはないけど、割込をマトリクス状にしてしまったら解りやすいかと。
上の例では、PCINT0~3の割込を有効にしたり、取り消ししたり。
もっといい方法があればいいんだけども、ライブラリにするのもおっくう…

カテゴリ:電子工作

FreeNASをスリープさせる

FreeNASを導入したんですが、常時起動してる必要もない感じなので、要らん時は寝ててもらう。
基本的にfreeBSDと同じ。
acpiのS1-5で好きな状態にできるので、とりあえずS3あたりに。
ステートについてはwikipediaにて。

コンソールから

# acpiconf -s 3


とかやれば寝てくれるんだけど、いちいちめんどくさい。
電源ボタンで寝てもらおう。

現在の電源ボタンの設定は

# sysctl hw.acpi.power_button_state
hw.acpi.power_button_state: S5


S5って事は通常のシャットダウンになってる。

通例なら/etc/sysctl.confを編集すればいいはずなんだけど、再起動すると編集した内容が失われる…
というわけで、freeNASのGUIから。

システム→Tunable→Tunableの追加
  • 変動:hw.acpi.power_button_state
  • 値:S3
  • タイプ::Sysctl

これで再起動後から電源ボタンを押すとS3に移行できるようになった。

が、スリープから目覚めると様子がおかしい。
runtime went backwards、多分時計回りがおかしいという表示が1文字ずつゆっくり表示される。
最終的にカーネルパニック…spin lock held too long

なんとなく省電力周りが怪しい気がしたので、freeNASの詳細設定からpowerdをオフにしたら治った。

S3とかからでもWoLで起こせるので、そこそこ便利かな。

カテゴリ:PC

WN819 無線LANが遅い

イイヤマのIT8i-9P1150T-A、というか、OEM元のマウス型番ではWN891。
日常的に触っておらず、たまーに使う程度だったのですが、数日前に急激に無線LANが遅くなってることに気が付いた。

同じセグメントのPCに対して1Mbpsも出てない悲惨な有様だったので、対策してみた。

無線LANのドライバを見てみたら、いつの間にかドライバが更新されてた。
wn891_lan_driver.png

wn891を買ったのは2016年の正月、その後すぐWindows10にアップグレードしたので、2016/04/01のドライバは自分がインストールしてない、、、はず。(曖昧)
というわけで、古いバージョンに変更してみたら普通に動き出したので、これでいいことにしよう。

カテゴリ:PC

HD-WLU3/R1のベンチを取ってみた

USB3.0に対応した、HDDが2台内蔵されている外付けHDD。
RAID0にも1にも対応しています。

BUFFALO RAID1対応 USB3.0用 外付けハードディスク 2ドライブモデル 2TB HD-WL2TU3/R1J



で、気になるのはRAID0の速度。
どうせ大した速度はでないってわかってても測ってみたくなるのが人間の性ってもんで…

まずはRAID1。
HD-WLU3R1(RAID1).png

次にRAID0。
HD-WLU3R1(RAID0).png

ですよねー。
RAID0で使うぐらいなら、外付けSSDにした方がいいよね。

カテゴリ:製品レビュー&比較

次のページ

FC2Ad