mir.pe (일반/어두운 화면)
최근 수정 시각 : 2023-12-16 20:41:17

Windows 10/버전/Redstone 1/IoT


1. 개요2. 빌드 변경 내역
2.1. 14262
2.1.1. 새로운 기능2.1.2. 배포 노트 변경 사항
2.2. 14295
2.2.1. 새로운 기능2.2.2. 수정된 문제점2.2.3. 알려진 문제점
2.3. 14322
2.3.1. 새로운 기능2.3.2. 배포 노트 변경 사항2.3.3. 시간 동기화
2.4. 14328
2.4.1. 새로운 기능
2.5. 14342
2.5.1. 새로운 기능2.5.2. 해결된 문제점2.5.3. 알려진 문제점
2.6. 14366
2.6.1. 새로운 기능2.6.2. 알려진 문제점2.6.3. FTP 서버 시작
2.7. 14376
2.7.1. 새로운 기능2.7.2. 해결된 문제점2.7.3. 알려진 문제점2.7.4. 기본 FFU에서 센서 드라이버 충돌
2.8. 14393
2.8.1. 새로운 기능2.8.2. 수정된 문제점2.8.3. 알려진 문제점2.8.4. SoftAP를 통한 서버 애플리케이션

1. 개요

이 문서는 Windows 10의 참가자 프로그램 Redstone 1/IoT에 대해 다룬다.

2. 빌드 변경 내역

2.1. 14262

2016년 2월 17일에 배포되었다.

2.1.1. 새로운 기능

2.1.2. 배포 노트 변경 사항

다음과 같은 문제점이 추가되었다. ".NET 네이티브 툴 체인으로 컴파일"을 켜면 .NET 네이티브 런타임 배포의 에러로 앱 배포에 실패할 수 있다. 블루투스 페어링 웹 관리 인터페이스에 블루투스 장치들이 제대로 보여지지 않는다. 특정 SDK 버전에서 AllJoyn 어댑터 프로젝트에 참조를 추가하는 것을 시도하면 에러가 발생할 수 있다. 에러를 해결하기 위해서는 비주얼 스튜디오의 타겟 플랫폼을 현재 SDK 버전으로 맞추고, 프로젝트를 다시 불러오면 된다. 라즈베리 파이 2가 PL011 UART로 시리얼 통신을 할 수 있다. 이 기능은 커널 디버깅 시나리오에서 기본으로 켜져있다. 앱이나 장치드라이버는 다음과 같은 명령어로 디버거를 꺼서 PL011 장치 드라이버에서 PL011 UART로 데이터를 보내고 받을 수 있다.
bcedit /set debug off 기본 시작 앱이 비주얼 스튜디오에서 배포될 때 자기 자신과 충돌한다. 완화요소: 기본 시작 앱을 다른 앱으로 배포하면 된다. IoT Core의 쉘 인프라는 장치에서 돌아가는 APPX 타입 앱들이 깨지는지 모니터링하고, 충돌이 일어나면 자동으로 재시작하게 한다. 재시작된 앱들이 계속 충돌이 일어나면, 쉘이 __failfast(시스템 크리티컬 프로세스, 버그체크 후 복구를 위해 재부팅을 시도한다.)를 실행한다. UI 있는 환경에서 백그라운드 작업과 포그라운드 앱들이 충돌 핸들링이 실행될 것이다. 충돌 핸들링과 재시작 논리는 다음과 같이 실행하면 된다.
Software\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\CBTConfig (or ForegroundAppConfig for headed)
Qword:"FailureResetIntervalMs" – length of time app has to run successfully to reset failures seen to 0. – default is 0x00000000000493E0 == 5 minutes
Qword:"BaseRetryDelayMs" -- wait time coefficient. Default is 0xa.
Dword:"MaxFailureCount". Default is 10
DWord:"FallbackExponentNumerator", default is 31.
Dword:"FallbackExponentDenominator", default is 20


Fallback_exponent = FallbackExponentNumerator / FallbackExponentDenominator; // default is 1.55

앱 충돌이 탐지되면:
if time_since_last_crash > failureresetinterval then crashes_seen = 1
else ++crashes_seen;

if crashes_seen > MaxFailureCount then __failfast;
else
delay = (dword) ((float)BaseRetryDelayMs * (crashes_seen ** Fallback_exponent))
wait for delay and relaunch app

다음과 같은 문제들이 해결되었다.

2.2. 14295

2016년 3월 29일에 배포되었다.

2.2.1. 새로운 기능

2.2.2. 수정된 문제점

다음과 같은 문제들이 수정되었다. ".NET 네이티브 툴 체인으로 컴파일"을 켜면 .NET 네이티브 런타임 배포의 에러로 앱 배포에 실패할 수 있다. 블루투스 페어링 웹 관리 인터페이스에 블루투스 장치들이 제대로 보여지지 않는다.

2.2.3. 알려진 문제점

netsh advfirewall firewall add rule name=[Any name to identify rule] dir=in action=allow protocol=TCP localport=[Port number] netsh advfirewall firewall add rule name=”Node.js UWP” dir=in action=allow protocol=TCP localport=1337 netsh advfirewall firewall add rule name="TCP5678-TCP-in" dir=in action=allow protocol=TCP localport=5678
netsh advfirewall firewall add rule name="TCP5678-TCP-out" dir=out action=allow protocol=TCP localport=5678

2.3. 14322

2016년 4월 23일에 배포되었다.

2.3.1. 새로운 기능


2.3.2. 배포 노트 변경 사항

2.3.3. 시간 동기화

시간 서버에 접속할 수 없거나 멀어서 시간 동기화가 실패하면, 다음을 통해 시간 서버를 추가할 수 있다. w32tm /config /syncfromflags:manual /manualpeerlist:"0.windows.time.com 1.pool.ntp.org 2.다른 서버 주소, ..."

2.4. 14328

2016년 5월 11일에 배포되었다.

2.4.1. 새로운 기능

2.5. 14342

2016년 5월 17일에 배포되었다.

2.5.1. 새로운 기능

2.5.2. 해결된 문제점

2.5.3. 알려진 문제점

2.6. 14366

2016년 6월 23일에 배포되었다.

2.6.1. 새로운 기능

2.6.2. 알려진 문제점

2.6.3. FTP 서버 시작

시작할 때 더이상 FTP 서버가 기본으로 시작하지 않는다.
SSH/PS로 로그인 후 이 명령어로 FTP를 시작하면 된다: start ftpd.exe SSH/PS로 로그인 후 스케줄러 작업을 생성한다:
schtasks /create /tn "IoTFTPD" /tr ftpd.exe /ru system /sc onstart
Schtasks /run /tn “IoTFTPD”

2.7. 14376

2016년 7월 6일 배포되었다.

2.7.1. 새로운 기능

2.7.2. 해결된 문제점

2.7.3. 알려진 문제점

2.7.4. 기본 FFU에서 센서 드라이버 충돌

제공된 FFU에 센서 드라이버 충돌이 있다. 원격 센서 프레임워크가 컴퍼스, 자기센서, 가속센서, 자이로스코프 드라이버를 설치한다. 앱에제공되는 UWP API들은 1이 설치된걸로 간주한다. 만약애 물리적으로 연결된 장치의 드라이버를 만들고 있다면, 마이크로소프트가 제공한 FFU의 원격 드라이버가 충돌할 것이다.
해결 방법: 충돌하는 드라이버는 SSH나 Powershell로 장치에 연결한 후 devcon.exe 툴로 “devcon.exe remove @”ROOT\REMOTESENSORDRIVER*”를 입력해 원격 센서 드라이버를 제거하면 된다. 원격 센서 드라이버는 OEM이 제작한 FFU에 영향을 미치지 않는다.

2.8. 14393

2016년 8월 2일에 배포되었다.

2.8.1. 새로운 기능


2.8.2. 수정된 문제점

2.8.3. 알려진 문제점

2.8.4. SoftAP를 통한 서버 애플리케이션

SoftAP 클라이언트를 사용할 때 UAP 앱에서 제공하는 컨텐츠에 접근할 수 없다.
SoftAP로 UAP 앱들을 보여주려면 다음을 장치에 콘솔로 명령해야 한다.

reg add hklm\system\currentcontrolset\services\mpssvc\parameters /v IoTInboundLoopbackPolicy /t REG_DWORD /d 1
checknetisolation loopbackexempt -a -n=<AppID for SoftAP App>
checknetisolation loopbackexempt -a -n=<AppID for Additional App>

예시 : checknetisolation loopbackexempt -a -n=IoTOnboardingTask-uwp_1w720vyc4ccym Reboot


[1] 앞의 버그와 같은 증상이지만 번호가 다르므로 다른 버그로 취급하겠다.