| 2020년 8월 31일에 촬영한 나의 롤랜드'ED' SC-D70. |
Roland SC-D70은 2000년 무렵에 출시된 Sound Canvas 계열의 사운드 모듈이다. 단순한 MIDI 음원 모듈을 넘어 USB를 통한 MIDI와 디지털 오디오 입출력을 함께 지원한다. 특히 USB MIDI로 연결하면 PART A와 PART B라는 두 개의 독립적인 MIDI 포트를 사용할 수 있으므로 32파트 멀티팀버 음원으로 활용할 수 있다.
문제는 세월이다. SC-D70은 이미 20년을 훌쩍 넘긴 장비이고 Roland가 제공했던 Windows용 드라이버 역시 오래전에 지원이 끝났다. 최근에는 DIN MIDI 단자를 별도의 USB-MIDI 인터페이스나 구형 키보드 컨트롤러에 연결하여 SC-D70을 사용하고 있었다. 이 방법으로도 일반적인 MIDI 음원으로 사용하는 데에는 별 문제가 없지만 USB 직결에 비하면 몇 가지 불편함이 있다. PART A에만 접근하게 되어 SC-D70의 32파트 기능을 온전히 활용하기 어렵고, 전원을 켤 때 버튼을 동시에 눌러 MIDI 모드로 전환해야 하는 번거로움도 있다. 흥미로운 것은 Linux에서는 SC-D70을 USB로 연결하는 데 별 문제가 없다는 점이다. 그렇다면 Windows 11에서도 어떻게든 USB 기능을 되살릴 수 있지 않을까?
사실 2022년에도 비슷한 일을 했었다
나는 2022년 4월에 이미 SC-D70을 다시 꺼내 Windows 10에서 사용해 본 기록을 남겨 놓았던 것이다(음악 작업 환경 바꾸기 (2022년 4월 26일)). 당시 글에는 Vista 64비트용 드라이버를 이용하여 Windows 10에서 SC-D70의 녹음과 재생이 정상적으로 작동했다고 적어 놓았다. 당시에는 특별한 문제 없이 설치가 되었었던 것으로 기억한다. 그러나 Windows 11이 되면서 이 드라이버는 설치는 되지만, 강화된 드라이버 서명 정책 때문에 정상적으로 로드되지 않는다.
Vista x64용 원본 드라이버를 다시 구하다
조사해 보니 Roland가 과거 배포했던 SC-D70의 Windows Vista 64비트용 드라이버가 존재했다.
파일 이름은 SC-D70_win_vista_x64.zip이고 버전은 1.0.0.0,
날짜는 2007년 1월 22일이다. 놀랍게도 이 오래된 드라이버 파일은 2026년 현재에도
Roland의 서버에서 직접 다운로드할 수 있다.
현재 다운로드되는 URL은 다음과 같다.
http://lib.roland.co.jp/support/en/downloads/res/1812426/SC-D70_win_vista_x64.zip
주의할 점은 HTTPS가 아니라 HTTP를 사용해야 한다는 것이다.
https://로 시작하는 주소로는 다운로드되지 않았지만,
http:// 주소로 접속하면 원본 ZIP 파일을 정상적으로 내려받을 수 있었다.
압축을 풀어 보니 INF, SYS, CAT 파일은 물론 ASIO 관련 DLL과 Control Panel까지
들어 있는 완전한 드라이버 패키지였다.
INF 파일에는 SC-D70의 USB hardware ID인 USB\VID_0582&PID_000C가 명시되어 있었고, 더욱 흥미로운 것은 MIDI 포트 정의였다.
Roland SC-D70 PART A Roland SC-D70 PART B Roland SC-D70 MIDI OUT Roland SC-D70 Roland SC-D70 MIDI IN
즉 SC-D70의 USB 연결에서 제공되던 PART A와 PART B 기능이 원래 Windows 드라이버 안에 그대로 들어 있었다. 새로운 Windows 11용 MIDI 드라이버를 처음부터 만드는 것보다 이 드라이버를 어떻게든 다시 실행시키는 것이 훨씬 합리적인 접근으로 보였다.
Windows 11에 원본 드라이버를 설치하다
Windows 11의 관리자 권한 PowerShell에서 다음과 같이 드라이버를 설치했다.
pnputil /add-driver RDIF1012.INF /install
뜻밖에도 설치 자체는 아무 문제 없이 이루어졌다. Windows 11은 이 오래된 INF를 받아들였고 Driver Store에 정상적으로 추가했으며, 실제로 연결된 SC-D70에도 해당 드라이버를 연결했다.
드라이버 패키지를 추가했습니다. 게시된 이름: oem76.inf 드라이버 패키지가 장치에 설치됨: USB\VID_0582&PID_000C\...
그러나 장치 상태는 Error였다. 처음 확인했을 때에는 Problem Code 39 (CM_PROB_DRIVER_FAILED_LOAD)와 0xC000007B가 나타났다. 드라이버 패키지를 설치하고 장치에 연결하는 데까지는 성공했지만 실제 커널 드라이버가 로드되지 않은 것이다.
Memory Integrity와 오래된 드라이버
Windows 11에는 Memory Integrity, 즉 메모리 무결성이라는 보안 기능이 있다. 이는 HVCI(Hypervisor-protected Code Integrity)의 사용자 인터페이스 이름으로, 가상화 기반 보안 기능을 이용하여 커널에서 실행되는 코드의 무결성을 보호한다. 2007년에 만들어진 드라이버는 이런 현대적인 Windows 보안 환경을 고려하지 않았으므로 이것이 원인일 가능성을 확인해 보기로 했다.
Windows 보안의 장치 보안 → 코어 격리 → 메모리 무결성을 시험적으로 끄고 재부팅하였다. 그러자 오류의 형태가 달라졌다.
Problem Code: 52 CM_PROB_UNSIGNED_DRIVER Problem Status: 0xC0000428
이번에는 원인이 훨씬 명확하게 드러났다. 오래된 Roland 드라이버의 디지털 서명을 현재 Windows가 커널 드라이버용으로 받아들이지 않는 것이었다. 중요한 것은 Memory Integrity를 끄는 것만으로는 SC-D70이 작동하지 않았다는 것이다. 보안 설정을 하나 낮추었음에도 드라이버는 여전히 Code 52 상태였다.
드라이버 서명 적용을 한 번만 해제해 보다
다음으로 Windows의 고급 시작 옵션을 이용하였다. 명령 프롬프트 또는 PowerShell에서 shutdown /r /o /t 0을 실행하면 Windows 복구 시작 화면으로 들어갈 수 있다. 그 뒤 문제 해결 → 고급 옵션 → 시작 설정 → 다시 시작을 선택하고 7번: 드라이버 서명 적용 사용 안 함(Disable Driver Signature Enforcement)을 선택하였다. 이 설정은 영구적으로 Windows 보안을 변경하는 것이 아니라 해당 부팅 세션에서만 적용되는 임시 옵션이므로 다음에 정상적으로 재부팅하면 원상 복구된다.
SC-D70이 살아났다
Windows가 다시 올라온 뒤 장치 상태를 확인했더니 이번에는 완전히 정상 상태였다.
OK MEDIA Roland SC-D70 OK AudioEndpoint IN(Roland SC-D70) OK AudioEndpoint OUT(Roland SC-D70)
MIDI 프로그램을 실행하여 포트를 확인하니 출력에는 Roland SC-D70 PART A, Roland SC-D70 PART B, Roland SC-D70 MIDI OUT의 세 포트가 나타났고 입력 쪽에도 SC-D70의 MIDI 포트가 정상적으로 나타났다. 가장 중요한 PART A와 PART B를 각각 시험해 보았는데 둘 다 정상적으로 작동하였다. 따라서 DIN MIDI를 통한 우회 연결에서는 사용할 수 없었던 SC-D70의 두 MIDI 포트를 Windows 11에서 USB 연결로 온전히 사용할 수 있게 되었다. 즉 32파트 MIDI 기능이 다시 살아난 것이다.
| SC-D70의 두 파트가 전부 보인다(MidiEditor). |
USB Audio도 정상 작동한다
MIDI만 되는 것도 아니었다. Windows의 사운드 설정을 열어 보니 SC-D70이 정상적인 오디오 장치로 나타났고, OUT(Roland SC-D70)을 Windows의 출력 장치로 선택하여 실제 오디오를 재생해 보니 소리가 정상적으로 출력되었다. 따라서 이번 실험으로 확인한 것은 단순한 USB MIDI 호환성 정도가 아니다. 2007년의 Windows Vista x64용 Roland SC-D70 드라이버가 Windows 11에서 실제로 로드되었고, USB MIDI와 PART A/B를 통한 32파트 MIDI는 물론 Windows USB Audio 출력까지 정상적으로 작동하였다. USB Audio IN/OUT endpoint도 정상적으로 생성되었다. ASIO와 실제 Audio Input 녹음 기능은 아직 별도로 시험하지 않았다.
![]() |
| USB Audio로 작동하는 모습. 유튜브에서 래리 칼튼의 'Smiles And Smiles To Go'를 재생하고 있다. |
드라이버가 낡았다기보다 서명이 낡았다
이번 실험에서 가장 재미있는 점은 여기에 있다. 처음에는 오래된 SC-D70을 Windows 11에서 사용하려면 새로운 USB MIDI 드라이버를 만들어야 할지도 모른다고 생각했다. 그러나 실제로는 그렇지 않았다. 2007년에 만들어진 64비트 Roland WDM 드라이버 자체는 Windows 11에서도 여전히 동작한다. 적어도 이번 실험에서 확인한 직접적인 장애물은 드라이버 코드 자체의 호환성보다는 오래된 디지털 서명과 현대 Windows의 커널 드라이버 서명 정책이었다.
처음에는 Memory Integrity를 끈 상태에서도 서명 오류 때문에 드라이버가 로드되지 않았고, 그 상태에서 Driver Signature Enforcement까지 일시적으로 해제했을 때 비로소 드라이버가 정상적으로 로드되었다. 여기까지만 놓고 보면 Memory Integrity와 드라이버 서명 검사를 모두 해제해야 하는 것처럼 보일 수도 있었다. 그러나 두 보안 기능 중 어느 것이 실제 장애물인지 구분하려면 변수를 하나 더 분리할 필요가 있었다.
Memory Integrity를 다시 켜고 시험하다
그래서 추가 실험을 하였다. Windows 보안에서 Memory Integrity를 다시 ON으로 설정하고 정상적으로 재부팅하여 이 보안 기능을 원상복구하였다. 그 다음 다시 Windows의 고급 시작 옵션으로 들어가 Driver Signature Enforcement만 이번 부팅에 한하여 해제하였다. 즉 이번에는 Memory Integrity ON + Driver Signature Enforcement OFF라는 조건이었다.
결과는 예상보다 좋았다. SC-D70은 아무런 오류 없이 정상적으로 올라왔고 PowerShell에서 확인한 관련 장치는 모두 OK 상태였다.
OK MidiEndpoint Roland SC-D70 OK SoftwareDevice Roland SC-D70 OK SoftwareDevice Roland SC-D70 MIDI IN OK SoftwareDevice Roland SC-D70 PART A OK SoftwareDevice Roland SC-D70 PART B OK SoftwareDevice Roland SC-D70 MIDI OUT OK AudioEndpoint IN(Roland SC-D70) OK MEDIA Roland SC-D70 OK AudioEndpoint OUT(Roland SC-D70)
MIDI 프로그램에서도 PART A와 PART B가 모두 그대로 나타났으며 실제 MIDI 재생도 정상적으로 이루어졌다. Windows의 USB Audio 역시 문제없이 작동하였다. 따라서 Memory Integrity는 이 오래된 SC-D70 드라이버의 동작을 방해하지 않는다는 사실을 실제로 확인할 수 있었다. 적어도 이 시스템에서 SC-D70을 사용하기 위해 Memory Integrity를 끌 필요는 없다.
Memory Integrity는 계속 켜 두어도 된다
이 결과는 보안 측면에서도 반가운 일이다. Memory Integrity는 단순히 오래된 드라이버를 귀찮게 검사하는 옵션이 아니다. Windows의 가상화 기반 보안 기능을 이용하여 커널 영역에서 허가되지 않은 코드가 실행되거나 커널 메모리가 변조되는 것을 어렵게 만드는 보호 기능이다. 이를 끈다고 해서 컴퓨터가 곧바로 위험한 상태가 되는 것은 아니지만, Windows가 제공하는 중요한 커널 수준의 방어층 하나를 제거하는 것은 분명하다.
처음에는 문제를 진단하기 위해 Memory Integrity를 잠시 껐지만 결과적으로 그럴 필요가 없다는 것을 확인하였다. Memory Integrity를 다시 활성화한 상태에서도 SC-D70의 USB MIDI와 USB Audio는 모두 정상적으로 작동한다. 따라서 이 설정은 계속 ON으로 유지하면 된다. 반면 현재 SC-D70의 동작 여부를 결정하는 것은 Driver Signature Enforcement였다. 이것을 일시적으로 해제했을 때 드라이버가 정상적으로 로드되었고, 다시 정상 부팅하면 서명 검사가 자동으로 활성화되어 구형 드라이버가 다시 차단될 것으로 예상된다.
결국 남은 문제는 하나
이제 문제는 상당히 단순해졌다. 하드웨어 호환성 문제도 아니고, Vista 시대의 64비트 WDM 드라이버가 Windows 11에서 실행되지 않는 것도 아니며, Memory Integrity와의 충돌도 아니었다. 남은 장애물은 2007년 Roland 드라이버의 디지털 서명을 현재 Windows 11이 정상적인 커널 드라이버 서명으로 받아들이지 않는다는 것이다.
현재 사용한 Disable Driver Signature Enforcement는 기술적인 검증에는 훌륭하지만 일상적인 해결책은 아니다. 이 설정은 해당 부팅 세션에만 적용되므로 SC-D70을 사용할 때마다 Windows 복구 메뉴로 들어가 이를 선택해야 한다. 그렇다고 Windows 전체를 Test Mode로 사용하는 것도 썩 만족스러운 해결책은 아니다.
따라서 다음 과제는 더욱 명확해졌다. Memory Integrity를 포함한 Windows 11의 정상적인 보안 기능은 가능한 한 그대로 유지하면서, 2007년 Roland SC-D70 드라이버를 정상 부팅에서도 지속적으로 사용할 방법을 찾는 것이다. 현재의 방법으로는 SC-D70을 사용할 때마다 Windows의 고급 시작 옵션으로 들어가 Driver Signature Enforcement를 일시적으로 해제해야 한다. 드라이버 자체가 Windows 11에서 정상적으로 동작한다는 사실은 확인했으므로, 이제 남은 질문은 이것이다. 2007년의 원본 드라이버 코드는 그대로 두고 현대적인 방법으로 다시 서명한다면, 이런 일회성 부팅 절차 없이도 SC-D70을 사용할 수 있을까?
그러나 오늘 확인한 것만으로도 충분히 재미있는 결론을 내릴 수 있다. 2000년에 출시된 Roland SC-D70은 2026년의 Windows 11에서도 USB MIDI와 USB Audio로 잘 작동한다. PART A와 PART B를 모두 사용할 수 있고 Windows의 USB Audio 출력도 정상적으로 동작한다. 더구나 추가 실험을 통해 Memory Integrity를 끌 필요조차 없다는 것도 확인하였다. 하드웨어가 죽은 것도 아니었고, 19년 된 Vista용 드라이버가 완전히 쓸모없어진 것도 아니었다. 드라이버의 코드보다 그동안 Windows의 문지기가 훨씬 엄격해졌을 뿐이다.
그렇다면 여기까지 온 김에 한 걸음 더 가 보기로 했다. 최신 Windows Driver Kit를 이용하여 이 오래된 드라이버를 다시 패키징하고 test-signing한다면 어떻게 될까? SC-D70은 아직 은퇴할 때가 아니다. 물론 리눅스에서는 이야기가 달라진다. USB 케이블만 꽂으면 최신 리눅스에서도 잘 작동하기 때문이다
이 실험은 다음 글에서 계속한다.
Reviving the Roland SC-D70 on Windows 11: A 2007 Vista x64 Driver Still Works
The Roland SC-D70, introduced around 2000, provides both USB MIDI and digital audio interfaces, including two independent MIDI ports, PART A and PART B, for 32-part multitimbral operation. Although official Windows support for the device ended many years ago, an original Roland Windows Vista x64 driver (version 1.0.0.0, dated January 22, 2007) was tested on Windows 11 in 2026. Windows 11 successfully installed and associated the driver with the SC-D70 but refused to load it normally because of current kernel driver-signing requirements. When Windows was booted once with Driver Signature Enforcement temporarily disabled, the original driver loaded successfully. Both PART A and PART B were fully functional, and USB audio playback also worked normally. A further test showed that the same MIDI and audio functions continued to work with Windows Memory Integrity enabled, demonstrating that Memory Integrity itself does not need to be disabled for this legacy driver. The remaining obstacle is therefore the acceptance of the driver's 2007 digital signature under the current Windows 11 kernel driver-signing policy, rather than fundamental incompatibility with the hardware, the driver code, or Memory Integrity. The next challenge is to find a practical way to load the original driver during normal Windows startup while retaining the standard security configuration of Windows 11.

댓글 없음:
댓글 쓰기