Gigabitハブに接続しても100Mbpsでリンクする

Windows トラブル解決

ネットワーク接続のリンク速度は、Windows Vistaの場合、「コントロールパネル」→「ネットワークと共有センター」→「ローカルエリア接続 状態の表示」から確認できます。
network-status.png

また、Intel製のもの等ネットワークアダプタによってはイベントログにリンク状態を記録できるものもありますので、その場合イベントビューアで確認することができます。

Gigabitハブに接続しても、リンク速度が1,000Mbpsではなく100Mbpsしか出なかったり安定しない場合、以下の対策を試してみてください。

  • LANケーブルの接続を確かめてみる。

LANケーブルがしっかり刺さっているか再確認してください。
現在販売されているケーブルは大抵1.0Gbpsで通信できる規格をクリアしていますが、古いケーブルを使っている場合、新しいものに変えてみると良いかもしれません。

  • ドライバがWindows付属のものである場合、ネットワークカード・チップのメーカーが配布するドライバに置き換えてみる。
  • -あるノートPCに付属のIntel 82567LMの場合、Windows Vista x64のドライバでは自動認識だと1.0Gbpsではなく100Mbpsでリンクしてしまう状態でした。

Intel配布の最新ドライバに変更したところ、1.0Gbpsでリンクするようになりました。

  • リンク速度を自動認識ではなく、1.0Gbpsでリンクするように固定してみる。

「ローカルエリア接続の状態」画面から、「プロパティ」→「構成」を選択すると、ネットワークカードまたはチップのプロパティが表示されます。
「詳細設定」タブ→「リンク速度とデュプレックス(又はSpeed and Duplex)」が「オートネゴシエーション(又はAuto)」になっている場合、「1.0 Gbps 全二重通信」に変更すると1.0Gbpsでリンクできることがあります。

GPS ERROR jave.lang.illegalstateexception not connected call connect

Android

GPS ERROR jave.lang.illegalstateexception not connected call connect

Androidの位置情報を取得するAPIが新しくなりましたね!

http://developer.android.com/google/play-services/location.html

ちょいちょい既存のアプリにこれを使っていくように変更しようと思いますが、使ってみると、表題のエラーがLogCatに出てきて現在位置が取れないことがあります。

connectedが切れてしまったようです。

OnResumeにmLocationClient.connect()を付け加えたらなおりました。

 public void onCreate(Bundle savedInstanceState) {
   //中略
  mLocationClient = new LocationClient(this, this, this);
 }
 
 public void onResume(){
   super.onResume();
   mLocationClient.connect();
 }

GMailに迷惑メール判定されてしまう(IPv6)

Linuxサーバー

メールサーバーでIPv4とIPv6の両方を有効にしていると、GMailは優先的にIPv6で接続するようです。
GMailで迷惑メール判定されないようにするためには、下記条件を満たす必要があります。

1) 送信元ドメイン認証(SPFまたはDKIM)に対応する
2) メール送信元ドメインがDNS逆引きできるように設定する

運用中のサーバーがIPv6を有効にしていましたがIPv6逆引きに対応していなかったため、メールサーバー側でIPv6接続を禁止する必要がありました。

Postfix 2.8移行の場合は、/etc/postfix/main.cf に下記設定を追加します。

 smtp_address_preference = ipv4
 

こうするとIPv4を優先して接続するようになります。

 

Postfixのバージョンが古い場合は下記のようにIPv4のみで接続するように設定します。

 inet_protocols = ipv4

GMailにメールするとSPFがsoftfailする

Linuxサーバー

SPFを設定していても、Gmailにメールすると送信元メールアドレスの左に?マークのアイコンが表示されてしまいます。このアイコンにマウスを載せると「GMailでは、このメールが(スパム発信者からではなく)本当に〜から送信されたメールであることが確認できませんでした。」と表示されます。

メール右上の▼から「メッセージのソースを表示」を選択するとメール受信ヘッダーが表示されます。

Return-Path:

メールサーバーのPostfixの設定 /etc/postfix/main.cf を確認したところmyoriginが未設定のため、Return-PathのドメインがSPFを指定しているドメインと一致していませんでした。

下記の指定が正しくないと、Return-PathがSPFを指定するサーバーになりません。

  • $myhostname
  • $mydomain
  • $myorigin

Received:

送信元サーバーのドメインが正しく表示されていなければ、DNSの逆引き設定をします。

GCM Unauthorized UnauthorizedError 401

Android

GCM Unauthorized Unauthorized Error 401

上記のようなエラーがGCMから帰ってきて、WebサーバーからGCMでメッセージが送れない場合、APIキーの設定がおかしいことが原因です。

Google APIs Consoleを開き、「Create new Server key」をクリックして、サーバーのIPアドレスを入力して、保存します。
表示されるAPI Keyが、利用すべきAPIキーです。

間違えやすいのが、ここで使うべきAPIキーの種類は、
Key for browser apps (with referers)
ではないことです!!

私は間違えていてはまりました…orz

更新(2016/10/26)

今回、サーバー移行でGoogle APIs コンソールからサーバーのIPアドレスを変更しようとしたら、まったく反映されず、

 GCM Unauthorized Unauthorized Error 401 

が帰ってきました。

「あれ?あれ?」
とGoogle APIs コンソールの設定を見直すも、まったくGCMが来ず。。。
ググるとなんと、Firebaseに移行しないと、Google APIs コンソールで変更しても変更が反映されない??ようです??

http://stackoverflow.com/questions/37789264/api-key-for-gcm-is-suddenly-invalid-unauthorized-401-error/37801206

もう~ 本当にやめてほしいですよ~(;´Д`)
Googleさんの、こういうところが嫌いだっ!!
詳しい手順は、上記のStackOverflowにありますので、見てみてください。