Surface Book を修理 (交換) した

2017年に購入した Surface Book を修理 (実際には Surface Book 3 に交換) しました。

正確には Surface Book with Performance Base (13.5in, i7, 8GB, 256GB) という機種で、電源が入らなくなってしまいました。
そこで、修理依頼から新デバイス受取りまでの記録を残しておきます。

修理を依頼する

Surface シリーズの修理依頼は、Microsoft アカウント | デバイス から行います。
このページには、自身のアカウントに登録されているデバイス (機器) の一覧が表示されます。

注意
・Microsoft アカウントを持っていない場合は、新たにアカウントを登録します。
・自身のデバイスとして登録されていない場合は、シリアル番号を入力してデバイスを登録します。

このデバイス一覧の中から修理対象のデバイスを選択し、[注文を開始する] を押します。

Device-Repair-1

Device-Repair-2

(以降の手順は、画面の案内に従えばよいため省略します。)

Surface シリーズの標準の保証期間 (サポート期間) は1年間です。
画面上では「修理」と表示されますが、保証期間外の場合は症状にかかわらず、一律料金で新品への交換になるようです。

注意
・途中でゆうパックの「集荷」「持ち込み」の選択肢がありますが、どちらを選んでもその後に影響しないと思います。ここで「集荷」を選びましたが、実際の集荷は自分で手配しました。

さて、修理依頼が完了すると、段取りが書かれた電子メールが送られてくるので、以降はそれに従えばよいです。
次はデバイスを梱包して送付します。

デバイスを着払ゆうパックで送付する

デバイスを梱包します。余っているダンボールを用意し、さらに緩衝材として、余っている紙を使えば十分です。
紙を丸めて、デバイスを包み込むように配置しましょう。
付属品は修理の対象になりません。本体のみを送付します。

集荷・持ち込みのどちらでもよいですが、今回はゆうびんマイページで集荷を依頼しました。
「ゆうパック」ではなく「着払ゆうパック」を指定します。

また、伝票の自動印字機能がないため、手書きでした。
やたら長い宛先を指定されましたが、返送時の伝票からすると、少し省略して次の宛先でよいはずです。

    〒143‑0001
    東京都大田区東海 1‑3‑6 プロロジスパーク東京大田 3F‑S5
    カンタムソリューションズ 気付 マイクロソフト サービス センター

・もとは「Quantium Solutions」と書かれていましたが、カタカナの会社名でよいと思います。
・「Ivy Tech Japan」は書かなくてもよいと思います。
・電話番号は指定されておらず、実際に記入しなくても OK でした。

新品を待つ

「Surface Book with Performance Base (13.5in, i7, 8GB, 256GB) の在庫はもうないから、
Surface Book 3 (15in, i7, 16GB, 256GB) を送りたいがよろしいか?」
という内容の連絡が電子メールで来たため、もちろん OK と返信しました。
新機種の代替品が送られるというのは初めての経験のため驚きました。

数日後に発送され、通常とは異なる簡素な箱が送られてきました。
中には本体のみが入っています。

SurfaceBook3-1-re-re

SurfaceBook3-2-re-re

ところで、Surface Book with Performance Base に付属していた電源アダプターは 102W ですが、
Surface Book 3 (15in) を通常購入して付属してくる電源アダプターは 127W のはずです。
これについて問い合わせたところ、Surface Book 3 は 102W で問題なく使用できるとの回答でした。
実際、65W でも問題なく使えています。

注意
・端子は、Mini DisplayPort だった部分が USB Power Delivery (USB PD) の Type-C に変わりました。
・解像度は、3000 x 2000 から 3240 x 2160 に変わりました。

修理 (交換) 費用は 71,854 円でした。
この価格で新型の機種が購入できると考えれば安いと思います。
なお、保証期間は更新されません。

Billing-Orders

Surface-App-1

参照

カテゴリー: 周辺機器. タグ: . Leave a Comment »

Surface Book で Kinect v2 が認識されない

ある時の Windows Update 以降、
Surface Book に Kinect v2 (Xbox One Kinect センサー) を USB で接続しても認識されなくなりました。

Kinect Sensor is not recognized on a Surface Book によると、
「Surface USB Hub Firmware Update driver」の変更が原因であるとしています。

また、この記事には回避策が載っています。以下ではその手順を実行した様子について書いていきます。
ただし、「問題調査中」とあり、これは一時的な措置のように見えます。

 

手順

[regedit] を実行してレジストリ エディターを起動します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}

に移動します。

Kinect-v2-Firmware-1

[LowerFilters] をダブルクリックします。値の編集画面が現れます。
元の値は「SurfaceUsbHubFwUpdate」です。これを削除して空文字列にします。

Kinect-v2-Firmware-2

Kinect-v2-Firmware-3

[OK] をクリックすれば完了です。

Kinect-v2-Firmware-4

すぐに認識しない場合は、PC を再起動したり Kinect v2 の電源を入れ直せば認識されるはずです。

参照
Kinect Sensor is not recognized on a Surface Book

カテゴリー: 周辺機器. タグ: , . Leave a Comment »

スティック PC をリモートで操作できるようにする

マウスコンピューターのスティック PC「MS-NH1-W10」を購入直後にセットアップしたときのメモです。
他の PC からリモートで接続できるように設定するところまでです。

スティックPC MS-NH1-W10
スティックPC MS-NH1-W10

搭載されている OS は Windows 10 Home です。
初回は USB 接続のキーボードまたはマウスが必要になります。ここではマウスのみで操作してみます。

 

OS 初期設定まで

初めて電源をオンにすると、OS の初期設定が始まります。

  • スティック PC 本体を電源、マウス、ディスプレイと接続する
  • 電源をオンにする
  • ネットワーク設定はスキップでよい
  • ユーザー名を入力する
    • 以降はパスワードの入力なしで OS を起動させるため、パスワードは設定しない
    • 入力にはスクリーン キーボードを利用

 

OS 起動後

OS が起動したら、まずは次のようなスクリーン キーボードを使えるようにします。

スクリーン キーボード

スクリーン キーボードを起動するには、[設定] → [簡単操作] → [キーボード] の画面で設定するか、
スタート メニューの [Windows 簡単操作] から選択します。

1-Keyboard-Settings

1-Keyboard-Start

 

スクリーン キーボードを使えるようになったら、コンピューター名 (PC 名) を変更して再起動します。

2-ComputerName

 

リモート接続

Windows 10 Home では、OS 標準のリモート デスクトップ接続を利用できません。
そこで、TeamViewer などを利用してリモート接続できるようにします。

  • ネットワークに接続 (ワイヤレス LAN)
  • TeamViewer を検索してダウンロード
  • TeamViewer をインストールしてリモート接続設定

以上の設定ができれば、このスティック PC に他の PC からリモート接続できるようになり、
これ以降、USB 接続のマウスは不要となります。

Leap Motion v1 が自動でアップグレードされないようにする

Leap Motion Controller のソフトウェアは、v2 よりも v1 のほうがトラッキングの精度自体は高いため、
v1 を利用したいケースも依然としてあります。

Leap Motion v1 の実行環境をセットアップするには、
Leap Motion のセットアップで書いた通りインストーラーを実行したあと、
コントロール パネルを開いて [最新版を自動的にインストール] のチェックをオフに設定します。

Leap-v1-ControlPanel

この設定変更をしないと、しばらく経つと自動的に v2 のインストーラーをダウンロードしてアップグレードしてしまいます。

問題はここからです。
v2 にアップグレードしてしまったとしても「v2 アンインストール& v1 再インストール」でやり直せると思いきや、
なんと v1 を再インストールした直後に間髪入れずに v2 にアップグレードされてしまいます。

これはどうやら、最初に v2 にアップグレードしたときに使用したインストーラーが
    C:\Windows\Temp\leap
に残っていることが原因のようです。

Leap 2.3.1 Installer

このインストーラーを削除してから v1 のインストーラーを再実行すれば解決します。

// 他にも、ユーザー フォルダーの「AppData\Local\Temp\~nsu.tmp」フォルダーに .exe ファイルが残ってたりしますが、
// こちらは直接影響しないようです。

 

2018.02.03 追記:
Windows 10 Fall Creators Update が適用されてから、Leap Motion Controller を USB で接続しても認識されなくなりました。
既定のドライバーでは動作しないようです。
Leap Motion のインストール フォルダーにある次のドライバーを追加でインストールすることで解決しました (64 ビットの場合)。
    C:\Program Files (x86)\Leap Motion\Core Services\Drivers\dpinst64.exe

 

参照
Leap Motion のセットアップ
Leap Motion driver broken on Windows Fall Creators Update

カテゴリー: 周辺機器. タグ: , . 1 Comment »

Leap Motion で手の回転状態を取得する

Leap Motion Controller の公式 SDK では、手の回転の状態をオイラー角で取得できるようになっています。
具体的には、Hand.Direction (Vector オブジェクト) の Yaw, Pitch, Roll プロパティが用意されています。
ただし、Hand クラスの説明を参照すると、 ロールについては Direction.Roll ではなく PalmNormal.Roll を使うように書かれています。

float pitch = hand.Direction.Pitch;
float yaw = hand.Direction.Yaw;
float roll = hand.PalmNormal.Roll;

しかし、これらの値を使って実装してみても、期待通りの動作にはなりません。

そこで、前回の 3D における回転の表現と相互変換の内容をもとに、手の回転の状態を取得する機能を自作しました。

Hand.Direction と Hand.PalmNormal はともに長さ 1 で直交しているため、
これらをそれぞれ (0, 0, -1) と (0, -1, 0) の回転後のベクトルと見なして、
前回作成した Rotation3DHelper クラスを利用してオイラー角を求めれば OK です。

using System;
using System.Windows.Media.Media3D;
namespace HandRotationLeap
{
public static class Leap3DHelper
{
public static Vector3D ToVector3D(this Leap.Vector v) => new Vector3D(v.x, v.y, v.z);
// Wrong values.
public static EulerAngles GetEulerAngles_org(this Leap.Hand h) => new EulerAngles
{
Yaw = h.Direction.Yaw,
Pitch = h.Direction.Pitch,
Roll = h.PalmNormal.Roll,
};
// Improved values.
public static EulerAngles GetEulerAngles(this Leap.Hand h) =>
Rotation3DHelper.ToEulerAngles(-h.Direction.ToVector3D(), -h.PalmNormal.ToVector3D());
}
}
view raw AppModel.cs hosted with ❤ by GitHub

全体のソースコードは HandRotationLeap (GitHub) にあります。
このサンプルでは、手とさいころの回転の状態を同期させています。

Hand Rotation by Leap Motion Controller

前回: 3D における回転の表現と相互変換

バージョン情報
.NET Framework 4.5
Leap Motion SDK 2.3.1

参照
Hand クラス