Let’s go!

  • linux usb driver xbox360(1)

    집에서 놀고 있던 8년 전에 구매한 xbox 360 유선 usb 패드를 raspberry pi4에 등록하여 사용하고 싶다. 나온 지 오래되어 이미 xpad 리눅스 드라이버가 공개되어 있다. 그러나 usb, input을 한번에 사용하여 잘 이해되지 않는다. 남은 출장 기간 중 천천히 공부 하기로 했다.

    usb를 등록하려면 vendor id, product id, 연결되면 실행되는 call back probe, disconnect 등 을 알아야 한다. 인터넷에 공개된 좋은 자료, 소스를 공부했다. 관련 코드는 여기에 저장했다.

    usb-devices로 xbox 패드를 확인하면 (I가 interface 인듯하다) 0, 1, 2, 3인터페이스가 등록되지 않았다.

    pi@raspberrypi:~/rasp/xbox_driver $ usb-devices 
    T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
    D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS= 8 #Cfgs=  1
    P:  Vendor=045e ProdID=028e Rev=01.14
    S:  Manufacturer=©Microsoft Corporation
    S:  Product=Controller
    S:  SerialNumber=0C59FC4
    C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
    I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=(none)
    I:  If#=0x1 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=5d Prot=03 Driver=(none)
    I:  If#=0x2 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=5d Prot=02 Driver=(none)
    I:  If#=0x3 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=fd Prot=13 Driver=(none)

    usb_register_dev로 interface 0, 1을 등록했다.

    pi@raspberrypi:~/rasp/xbox_driver $ usb-devices 
    T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
    D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS= 8 #Cfgs=  1
    P:  Vendor=045e ProdID=028e Rev=01.14
    S:  Manufacturer=©Microsoft Corporation
    S:  Product=Controller
    S:  SerialNumber=0C59FC4
    C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
    I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=5d Prot=01 Driver=xbox360
    I:  If#=0x1 Alt= 0 #EPs= 4 Cls=ff(vend.) Sub=5d Prot=03 Driver=xbox360
    I:  If#=0x2 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=5d Prot=02 Driver=(none)
    I:  If#=0x3 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=fd Prot=13 Driver=(none)
    
    pi@raspberrypi:~/rasp/xbox_driver $ dmesg 
    [48226.848081] xpad is 0c15d4e5, xpad->udev is 14758ec9
    [48226.848101] interface is 913f883f
    [48226.848126] xbox360 1-1.1:1.0: interrupt in, out found. 55429370, 0119bb5d
    [48226.848528] xbox360 1-1.1:1.0: usb xbox360 driver was registerd
    [48226.848710] xpad is a5c87389, xpad->udev is 14758ec9
    [48226.848726] interface is f687e098
    [48226.848746] xbox360 1-1.1:1.1: interrupt in, out found. efcdcd2e, 2fcb2b2f
    [48226.849000] xbox360 1-1.1:1.1: usb xbox360 driver was registerd
    [48226.849162] xpad is 5c5394a1, xpad->udev is 14758ec9
    [48226.849178] interface is 7fa06804
    [48226.849196] xbox360 1-1.1:1.2: Could not find both interrupt-in and interrpt-out endpoints
    [48226.849211] error -6
    [48226.849304] xpad is 5c5394a1, xpad->udev is 14758ec9
    [48226.849320] interface is c9ea30ca
    [48226.849337] xbox360 1-1.1:1.3: Could not find both interrupt-in and interrpt-out endpoints
    [48226.849352] error -6
    [48226.849490] usbcore: registered new interface driver xbox360

    참조 사이트.

  • raspberry pi4 bluetooth pairing with cli

    살다 보면 터미널로 블루투스 페이링을 할 필요가 있다. bluetoothctl가 제공하는 scan on, pair, trust, connect로 가능하다.

    [bluetooth]# pair 34:88:5D:5C:C2:65
    Device 34:88:5D:5C:C2:65 not available
    [bluetooth]# scan on
    Discovery started
    [CHG] Controller AA:AA:AA:AA:AA:AA Discovering: yes
    [CHG] Device 74:31:32:C6:8F:67 RSSI: -72
    [CHG] Device 74:31:32:C6:8F:67 TxPower: 12
    [CHG] Device 00:17:55:B0:CF:2E RSSI: -84
    [CHG] Device 5F:B7:26:83:54:58 RSSI: -73
    [CHG] Device 5F:B7:26:83:54:58 TxPower: 26
    [CHG] Device 75:CB:B4:32:0F:29 RSSI: -85
    [CHG] Device 5F:5C:FD:38:FC:36 RSSI: -84
    [CHG] Device 5F:5C:FD:38:FC:36 TxPower: 6
    [CHG] Device 68:47:92:B1:39:9C RSSI: -73
    [CHG] Device 68:47:92:B1:39:9C TxPower: 8
    [CHG] Device 58:7B:3E:E0:3F:F5 RSSI: -72
    [CHG] Device 58:7B:3E:E0:3F:F5 TxPower: 7
    [CHG] Device 42:39:EF:80:06:A0 RSSI: -71
    [CHG] Device 42:39:EF:80:06:A0 TxPower: 12
    [CHG] Device 00:17:55:B0:CF:2C RSSI: -89
    [CHG] Device 00:17:55:B0:CC:14 RSSI: -79
    [CHG] Device 7D:72:08:EE:56:18 RSSI: -72
    [CHG] Device 7D:72:08:EE:56:18 TxPower: 24
    [CHG] Device 42:39:EF:80:06:A0 AdvertisingFlags:
      00                                               .               
    [CHG] Device 00:17:55:B0:C3:AA RSSI: -88
    [CHG] Device 43:AF:C1:01:A4:9E RSSI: -73
    [CHG] Device 43:AF:C1:01:A4:9E TxPower: 7
    [CHG] Device 00:17:55:B0:CF:27 RSSI: -89
    [CHG] Device 00:17:55:B0:CC:16 RSSI: -91
    [CHG] Device 43:AF:C1:01:A4:9E AdvertisingFlags:
      00                                               .               
    [CHG] Device 00:17:55:B0:CC:16 AdvertisingFlags:
      00                                               .               
    [CHG] Device 00:17:55:B0:CF:27 AdvertisingFlags:
      00                                               .               
    [CHG] Device 53:02:B7:C1:DA:EF RSSI: -90
    [CHG] Device 00:17:55:B0:CF:2C AdvertisingFlags:
      00                                               .               
    [CHG] Device 53:02:B7:C1:DA:EF AdvertisingFlags:
      00                                               .               
    [NEW] Device 34:88:5D:5C:C2:65 Keyboard K480
    [CHG] Device DC:B5:4F:0A:1B:C7 RSSI: -79
    [bluetooth]# pair 34:88:5D:5C:C2:65
    Attempting to pair with 34:88:5D:5C:C2:65
    Failed to pair: org.bluez.Error.ConnectionAttemptFailed
    [CHG] Device 42:39:EF:80:06:A0 AdvertisingFlags:
      1a                                               .               
    [CHG] Device 00:17:55:B0:CC:16 AdvertisingFlags:
      06                                               .               
    [CHG] Device 2E:23:6D:1E:EC:1A RSSI: -85
    [CHG] Device 43:AF:C1:01:A4:9E AdvertisingFlags:
      1a                                               .               
    [CHG] Device 00:17:55:B0:CF:27 AdvertisingFlags:
      06                                               .               
    [CHG] Device 70:4A:71:F9:0C:89 RSSI: -92
    [CHG] Device 70:4A:71:F9:0C:89 TxPower: 7
    [CHG] Device 70:4A:71:F9:0C:89 AdvertisingFlags:
      1a                                               .               
    [CHG] Device 53:02:B7:C1:DA:EF AdvertisingFlags:
      02                                               .               
    [CHG] Device 68:47:92:B1:39:9C RSSI: -86
    [CHG] Device 75:CB:B4:32:0F:29 RSSI: -97
    [NEW] Device 00:17:55:B0:CE:F5 44881938.01000222
    [CHG] Device 53:02:B7:C1:DA:EF AdvertisingFlags:
      00                                               .               
    [CHG] Device 00:17:55:B0:CF:2C AdvertisingFlags:
      06                                               .               
    [bluetooth]# pair 34:88:5D:5C:C2:65
    Attempting to pair with 34:88:5D:5C:C2:65
    [CHG] Device 34:88:5D:5C:C2:65 Connected: yes
    [agent] Passkey: 091237
    [agent] Passkey: 091237
    [agent] Passkey: 091237
    [agent] Passkey: 091237
    [agent] Passkey: 091237
    [agent] Passkey: 091237
    [agent] Passkey: 091237
    [CHG] Device 34:88:5D:5C:C2:65 Modalias: usb:v046DpB33Cd2802
    [CHG] Device 34:88:5D:5C:C2:65 UUIDs: 00001000-0000-1000-8000-00805f9b34fb
    [CHG] Device 34:88:5D:5C:C2:65 UUIDs: 00001124-0000-1000-8000-00805f9b34fb
    [CHG] Device 34:88:5D:5C:C2:65 UUIDs: 00001200-0000-1000-8000-00805f9b34fb
    [CHG] Device 34:88:5D:5C:C2:65 ServicesResolved: yes
    [CHG] Device 34:88:5D:5C:C2:65 Paired: yes
    Pairing successful
    [CHG] Device 34:88:5D:5C:C2:65 ServicesResolved: no
    [CHG] Device 34:88:5D:5C:C2:65 Connected: no
    [CHG] Device 00:17:55:B0:CC:14 RSSI: -89
    [CHG] Device 53:02:B7:C1:DA:EF AdvertisingFlags:
      02                                               .               
    [CHG] Device 68:47:92:B1:39:9C RSSI: -78
    [CHG] Device 5F:5C:FD:38:FC:36 ManufacturerData Key: 0x004c
    [CHG] Device 5F:5C:FD:38:FC:36 ManufacturerData Value:
      10 06 7e 1e 2a 4b a0 b5                          ..~.*K..        
    [CHG] Device 75:CB:B4:32:0F:29 RSSI: -88
    [CHG] Device 75:CB:B4:32:0F:29 AdvertisingFlags:
      00                                               .               
    [CHG] Device 74:31:32:C6:8F:67 RSSI: -87
    [CHG] Device 7F:70:C6:B1:18:7B RSSI: -90
    [CHG] Device 7F:70:C6:B1:18:7B TxPower: 12
    [CHG] Device 00:17:55:B0:CF:27 AdvertisingFlags:
      00                                               .               
    [bluetooth]# trust 34:88:5D:5C:C2:65
    [CHG] Device 34:88:5D:5C:C2:65 Trusted: yes
    Changing 34:88:5D:5C:C2:65 trust succeeded
    [CHG] Device 74:31:32:C6:8F:67 RSSI: -71
    [CHG] Device 00:17:55:B0:CC:14 RSSI: -80
    [CHG] Device 75:CB:B4:32:0F:29 AdvertisingFlags:
      02                                               .               
    [NEW] Device 79:2D:EA:FA:C8:07 79-2D-EA-FA-C8-07
    [CHG] Device 43:AF:C1:01:A4:9E AdvertisingFlags:
      00                                               .               
    [CHG] Device 42:39:EF:80:06:A0 AdvertisingFlags:
      00                                               .               
    [CHG] Device 68:47:92:B1:39:9C AdvertisingFlags:
      00                                               .               
    [CHG] Device 53:02:B7:C1:DA:EF AdvertisingFlags:
      00                                               .               
    [CHG] Device 00:17:55:B0:C3:D0 RSSI: -94
    [CHG] Device 00:17:55:B0:CF:27 AdvertisingFlags:
      06                                               .               
    [DEL] Device 7D:72:08:EE:56:18 7D-72-08-EE-56-18
    [DEL] Device 00:17:55:B0:CF:2E 44881995.01000222
    [DEL] Device 5F:B7:26:83:54:58 5F-B7-26-83-54-58
    [DEL] Device 72:1E:96:C2:47:34 72-1E-96-C2-47-34
    [DEL] Device 74:31:32:C6:8F:67 74-31-32-C6-8F-67
    [DEL] Device 5F:5C:FD:38:FC:36 5F-5C-FD-38-FC-36
    [DEL] Device 58:7B:3E:E0:3F:F5 58-7B-3E-E0-3F-F5
    [DEL] Device 68:47:92:B1:39:9C 68-47-92-B1-39-9C
    [DEL] Device 00:17:55:B0:CC:14 44881201.01000222
    [DEL] Device 42:39:EF:80:06:A0 42-39-EF-80-06-A0
    [DEL] Device 2E:23:6D:1E:EC:1A 2E-23-6D-1E-EC-1A
    [DEL] Device 52:16:A9:CA:B5:11 52-16-A9-CA-B5-11
    [DEL] Device 00:17:55:B0:CF:27 44881988.01000222
    [DEL] Device 7F:70:C6:B1:18:7B 7F-70-C6-B1-18-7B
    [DEL] Device 50:1E:AF:D4:17:76 50-1E-AF-D4-17-76
    [DEL] Device 00:17:55:B0:C3:AA 44879047.01000222
    [DEL] Device 6F:3D:D3:F2:4A:31 6F-3D-D3-F2-4A-31
    [DEL] Device DC:B5:4F:0A:1B:C7 Mike Bouchon
    [DEL] Device 00:17:55:B0:CC:16 44881203.01000222
    [DEL] Device 6F:44:C7:02:3B:D0 6F-44-C7-02-3B-D0
    [DEL] Device 4A:41:FE:14:FE:2A 4A-41-FE-14-FE-2A
    [DEL] Device 00:17:55:B0:CF:17 00-17-55-B0-CF-17
    [DEL] Device 40:CC:C6:57:E4:40 40-CC-C6-57-E4-40
    [DEL] Device 00:17:55:B0:CF:25 44881986.01000222
    [DEL] Device 70:4A:71:F9:0C:89 70-4A-71-F9-0C-89
    [DEL] Device 00:17:55:B0:CF:2C 44881993.01000222
    [DEL] Device 00:17:55:B0:C3:D0 00-17-55-B0-C3-D0
    [DEL] Device 76:7F:82:5E:9F:77 76-7F-82-5E-9F-77
    [DEL] Device 53:02:B7:C1:DA:EF 53-02-B7-C1-DA-EF
    [DEL] Device 57:09:04:A4:37:BD 57-09-04-A4-37-BD
    [DEL] Device 75:CB:B4:32:0F:29 75-CB-B4-32-0F-29
    [DEL] Device 43:AF:C1:01:A4:9E 43-AF-C1-01-A4-9E
    [DEL] Device 00:17:55:B0:CE:F5 44881938.01000222
    [DEL] Device 79:2D:EA:FA:C8:07 79-2D-EA-FA-C8-07
    [NEW] Device 7F:70:C6:B1:18:7B 7F-70-C6-B1-18-7B
    [bluetooth]# connect 34:88:5D:5C:C2:65
    Attempting to connect to 34:88:5D:5C:C2:65
    [CHG] Device 34:88:5D:5C:C2:65 Connected: yes
    Connection successful
    [NEW] Device DC:B5:4F:0A:1B:C7 Mike Bouchon
    [CHG] Device 34:88:5D:5C:C2:65 ServicesResolved: yes
    [NEW] Device 43:AF:C1:01:A4:9E 43-AF-C1-01-A4-9E
    [NEW] Device 5F:B7:26:83:54:58 5F-B7-26-83-54-58
    [NEW] Device 53:02:B7:C1:DA:EF 53-02-B7-C1-DA-EF
    [NEW] Device 7D:72:08:EE:56:18 7D-72-08-EE-56-18
    [NEW] Device 68:47:92:B1:39:9C 68-47-92-B1-39-9C
    [NEW] Device 10:B8:5D:5C:03:7E 10-B8-5D-5C-03-7E
    [NEW] Device 6F:1D:B5:96:AE:86 6F-1D-B5-96-AE-86
    [NEW] Device 74:31:32:C6:8F:67 74-31-32-C6-8F-67
    [NEW] Device 00:17:55:B0:CF:2E 44881995.01000222
    [NEW] Device 75:CB:B4:32:0F:29 75-CB-B4-32-0F-29
    [NEW] Device 42:39:EF:80:06:A0 42-39-EF-80-06-A0
    [NEW] Device 79:2D:EA:FA:C8:07 79-2D-EA-FA-C8-07
    [NEW] Device 00:17:55:B0:CF:27 44881988.01000222
    [NEW] Device 6F:3D:D3:F2:4A:31 6F-3D-D3-F2-4A-31
    [NEW] Device 00:17:55:B0:CC:14 44881201.01000222
    [NEW] Device 00:17:55:B0:C3:AA 44879047.01000222
    [CHG] Device 00:17:55:B0:CF:27 AdvertisingFlags:
      00                                               .               
    [NEW] Device 00:17:55:B0:CF:2C 44881993.01000222
    [NEW] Device 00:17:55:B0:CC:16 44881203.01000222
    [CHG] Device DC:B5:4F:0A:1B:C7 RSSI: -80
    

    처음 블루투스를 실행하면 잘 안되는데, 여기를 참조했다. ExecStart에 옵션을 잘 넣어주면 된다.

    pi@raspberrypi:/etc/systemd/system/bluetooth.target.wants $ pwd
    /etc/systemd/system/bluetooth.target.wants
    pi@raspberrypi:/etc/systemd/system/bluetooth.target.wants $ cat bluetooth.service bluetooth.service 
    [Unit]
    Description=Bluetooth service
    Documentation=man:bluetoothd(8)
    ConditionPathIsDirectory=/sys/class/bluetooth
    
    [Service]
    Type=dbus
    BusName=org.bluez
    #ExecStart=/usr/lib/bluetooth/bluetoothd
    ExecStart=/usr/lib/bluetooth/bluetoothd --compat --noplugin=sap -E 
    NotifyAccess=main
    #WatchdogSec=10
    #Restart=on-failure
    CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
    LimitNPROC=1
    ProtectHome=true
    ProtectSystem=full
    
    [Install]
    WantedBy=bluetooth.target
    Alias=dbus-org.bluez.service
    [Unit]
    Description=Bluetooth service
    Documentation=man:bluetoothd(8)
    ConditionPathIsDirectory=/sys/class/bluetooth
    
    [Service]
    Type=dbus
    BusName=org.bluez
    #ExecStart=/usr/lib/bluetooth/bluetoothd
    ExecStart=/usr/lib/bluetooth/bluetoothd --compat --noplugin=sap -E 
    NotifyAccess=main
    #WatchdogSec=10
    #Restart=on-failure
    CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
    LimitNPROC=1
    ProtectHome=true
    ProtectSystem=full
    
    [Install]
    WantedBy=bluetooth.target
    Alias=dbus-org.bluez.service
  • 강자의 조건

    강자의 조건

    isbn: 9791185104133

    방송국이 출판해서 그런지 아주 쉽게 – 그렇다고 내용이 그렇게 쉽지는 않다. – 읽힌다. 어떤 사실을 전달할 때 방송국이 출판사보다 더 쉽게 설명하는 경향이 있다. 잘 제작된 영상과 잘 작성된 책을 비교했을 때, 영상이 더 사실을 효과적으로 전달한다. 영상이 더 많은 정보를 전달하지만 이를 효과적으로 구성하는 PD 능력도 뛰어나다.

    책을 관통하는 한 주제가 관용이다.강대국, 제국이 어떻게 만들어졌고 유지되었는지를 관용, 다양성에서 찾고 있다. 다양한 인재가 제국을 만들고 경쟁에서 우위를 점하는데 많은 영향을 미쳤다. 미국이야 태생부터 다민족 국가라 알지만, 영국, 몽골, 네델란드, 로마에서 다양성으로 인한 경쟁력을 찾았다.

    단일 민족에 자부심을 느끼는 한국, 일본이 어떻게 다양성을 바라보는지 생각 할만하다. 요즘 한국에서 이슬람 종교와 내국인들 사이에 갈등이 있는 듯 한데 감정적으로 접근하지 말고 좋은 정책을 추진 했으면 한다. 출산율도 급격하게 떨어지는데 여러 생각과 사람을 받아들이는 정책이 한국 더 발전된 사회로 만든다고 본다. 어떤 사람은 단일 민족이 해체 된다 걱정하지만 세계화 시대에 맞지 않는 낡은 생각이다.

    대영 제국이 어떻게 만들어 졌는지를 보면 눈물겹다. 청동 대포를 만들지 못해 값싼 철제 대포로, 약한 육군으로 싸우기 위해 백병전에서 함포전으로 변화시킨 노력으로 스페인 무적 함대를 격파했고 새로운 해전을 만들었다. 산업 혁명이 영국에서 시작한 이유 중 하나가 석탄 매장량이었는데, 위 같은 혁신적인 영국 노력을 보면 다른 자원으로도 산업 혁명을 만들어 낼 만한다.

  • total war 삼국 600시간 플레이

    어느 새 플레이 시간 600을 뚫어 버렸다. 제작사는 5월 말에 지원 종료를 선언했는데, 꾸준하게 하는 인간들이 많나 보다. 하…적벽까지라도 좀 만들어 주지. 삼국지 2 이후로 정말 오랜만이다.

    600 시간을 가능하게 하려면..

    • 애들이 10세 이상이어야 함.
    • 년 15일 휴가.
    • 제작사가 깽판을 쳐도 이해할 수 있는 삼국지에 대한 애정.
    • 코로나 19 + 델타 바이러스 + 오미크론 변이.
    • 아무리 전쟁이 급해도 마누라가 부르면 언제든 달려 갈 수 있는 대범함.
    • 넓고 넓은 중국, 많고 많은 인재를 관리할 수 있는 능력과 끈기.
    • 병력을 어떻게 이동시켜야 하는지에 대한 중국 지리 이해.

    게임이 나름 역사와 비슷하게 만들었다. 특히 각 세력간 외교를 정말 그럴 듯 하게 구현했다. 아니 모든 정보를 알 수 있어 더 현실적인 상황이다. 이를 바탕으로 이해하면 조조가 평정하기 전까지 중원이 완전 개판이었다. 걸핏하면 황건적 잔당이 들고 일어나, 유대, 포신, 유총 등 피래미급 군벌들이 걸핏하면 전쟁을 일으켜, 동탁은 낙양을 초토화하고 지 멋대로 헌제를 컨트롤 해…얼마나 많은 사람이 죽어 나갔는지 상상도 못하겠다. 후대에게 가슴 벅차겠지만 현실을 살아가는 이들에게는 지옥 이었다.

    이런 상황에서 한복이 왜 원소에게 기주를 바쳤는지 이해 할 수 있다. 누구나 명성이 자자한 원소에게 붙는다면 어느 정도 대우를 해 주고, 안정적인 환경에서 살 수 있다 생각한다. 한복이 나중에 원소 때문에 기주를 떠났지만, 이를 미리 예측했던 인물은 소수였다.

    조조가 관도 대전 후 그 많은 원소 포로를 다 처형했고, 서주를 공략하기 전에 근처를 초토화 했는지도 이해 가능하다. 곽가가 죽음을 무릅쓰고도 원담 잔당을 쫒아 오환까지 갔는지도 이해할 수 있다. 몇 만명 포로까지 처형할 정도로 조조가 원소 세력을 두려워 했다. 원소 세력을 북방에 방치 했다면 나중에 분명 문제가 되었다.

    원소가 6년 상을 겪어 명이 줄었다는 말도 있지만, 일찍 죽지만 않았다면 다른 역사를 보았을 것 이다. 난세에 어울리지 않는 인물이었지만 관도대전 후 급격히 몰락한 인물이 아니다.

    이런 미친 환경에서 기회가 있을 때 확실하게 일을 처리해야지, 실패는 패망, 죽음을 의미했다. 능력있고 냉정한 조조가 후대 비판을 받지만 그 시기에는 너무나 적절한 행동 이었다.

    이에 비해 유비는 신념과 의리 하나로 나라를 만들었다. 익주를 얻기 전 까지 조조에게 수많은 패배를 겪으면서도 따르는 장수들이 배반하지 않고, 너무나 사람을 정확하게 판단했다. 그 능력이 조조에 비해 많이 부족하지만 유방 정도는 쉽게 뛰어넘는다. 역사상 조조와 비교하여 우위에 있을 인물이 몇 이나 있을까 싶다. 조조같은 인물과 맞서가며 비전 하나만 가지고 촉을 세웠다면 능력 하나는 끝내 준다.

    제작사 개발 중단으로 관도 대전이 끝이지만, 계속 개발했다면 정말 가슴이 두근 거렸을 것이다. 조조가 관우 때문에 위나라 수도를 옮길 생각까지 했다. 이 때 과거 유방 통일 루트로 장안으로 군사를 내고, 오나라가 합비쪽으로 군사를 냈다면 위나라 영토가 많이 줄어 들었을 것이다. 제갈량이 전란을 겪은 중원과 달리 한반도 만한 분지 익주에서 나오는 식량, 물자를 보급했다면, 제갈량에 입안한 삼국 정립 후 위 분할 통치가 거의 성공할 뻔 했다.

    기회를 놓치면 위기가 온다는데, 그 시기 관우와 오나라 관계가 정말 아쉽다. 손권은 조조를 상대로 1승도 거두지 못하면서 왜 그리 형주에 집착했을까? 수성의 밝은 주인이라는데 아버지, 형이 보여준 무지막지한 전투력을 보여주지 못했다. 이런 상황에서 주유까지 일찍 죽었으니…촉 멸망까지 위나라에 전혀 위협을 주지 못하여 삼국이 아닌 남북 대립이 어색하지 않다.

    그 시대 평균 수명이 60이었다면 어떨까 싶다. 지금 코비드 19 환경에서 국가가 사망률을 주시하는 현실을 보면, 우리 모두가 주유, 곽가, 원소이다. 제작사가 개발을 중단하여 고인물인 내가 공융으로 원소, 조조를 줘 패고 있어 너무 안타깝다.

  • 절반의 한국사

    절반의 한국사

    isbn: 9791191425512

    남북 분단 후 80년이 지나면서 사람들이 북한을 별로 중요하게 생각하지 않는다. 전 세계를 대상으로 수출, 수입을 국가 정책으로 추진하는 한국이 고립을 추구하는 북한을 대수롭지 않게 생각함이 이상하지 않다. 과거 사회주의, 민주주의 대립도 요즘에는 하지 않는다. 핵을 제외한 어떠한 행동도 세계에 영향을 주지 못할 듯 하다.

    고립주의 정책을 추진하는 북한이 일본을 강경하게 대한다. 세계 3대 경제 대국으로 일본 영향력이 북한에 미치지 않는다. 아직도 해방 후 일본과 정상적인 외교 관계를 설정하지 않았다. 항일 독립 투쟁 정신을 계승한 북한 정부가 일본과 어떠한 관계를 설정할지 정말 궁금하다. 그 과정에서 어떤 막말을 할지도.

    우리 기억은 짧지만 역사는 길다. 분단 후 반도에서 섬 국가로 우리가 살아가고 있지만 과거 고구려 무대가 만주였음을, 거란, 여진족과 활발하게 교역했고, 대륙 세력과 투쟁했음은 사실이다. 정치적 환경이 변한다면 언제든지 다시 대륙으로 진출할 수 있다.

    이런 점에서 이런 책이 정말 중요하다. 사람들에게 잊혀진 북쪽 역사를 알리고 통일에 대한 당위성을 전파한다. 항일 투쟁기간 중 만주, 북쪽 지역을 빼고는 말이 안된다. 투쟁을 위해 간도, 만주로 이주한 고려인들을 잊으면 안된다. 정부가 아직 중요도가 떨어져 이런 주제에 관심을 갖지 않지만 언젠가는 해결할 문제라고 본다.

    이렇게 본다면 내년 베이징 동계 올림픽에 조선족이 행사에 보임이 예사롭지 않다. 중국 경제, 정치 중심이 허베이일텐데 왜 굳이 연변까지 관심을 가지고 있다 보여줘야 하나? 통일 한국 시대에 중국, 한국이 어떻게 관계를 설정할지도 궁금하다. 과거 사대가 아니라 동등한 관계를 설정할 텐데 이런 풀기 어려운 문제를 어떻게 풀지 관심을 끈다.