Xbox360 유선 컨트롤러가 진동할 때 연결이 끊어지는 이유는 무엇입니까?

Xbox360 유선 컨트롤러가 진동할 때 연결이 끊어지는 이유는 무엇입니까?

Steam에서 Dead Cells를 플레이하는 동안 피해를 입으면 컨트롤러가 몇 초 동안 설명할 수 없을 정도로 연결이 끊어지는 것을 발견했습니다(그리고 이를 알리는 경고 메시지가 나타남). 이 경우 게임이 실행되는 동안 많은 진동이 발생합니다. 비활성화하면 제대로 작동합니다. 이를 확인하기 위해 게시물에 나와 있는 대로 다음 evtest을 실행했습니다 .fftestXubuntu 18.10에서 PC 게임패드 진동을 활성화하는 방법. 이것은 내 결과입니다.

$ evtest
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event25:     Microsoft X-Box 360 pad
Select the device event number [0-25]: 25
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x45e product 0x28e version 0x114
Input device name: "Microsoft X-Box 360 pad"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 304 (BTN_SOUTH)
    Event code 305 (BTN_EAST)
    Event code 307 (BTN_NORTH)
    Event code 308 (BTN_WEST)
    Event code 310 (BTN_TL)
    Event code 311 (BTN_TR)
    Event code 314 (BTN_SELECT)
    Event code 315 (BTN_START)
    Event code 316 (BTN_MODE)
    Event code 317 (BTN_THUMBL)
    Event code 318 (BTN_THUMBR)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value  -1637
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 1 (ABS_Y)
      Value   -377
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 2 (ABS_Z)
      Value      0
      Min        0
      Max      255
    Event code 3 (ABS_RX)
      Value   -671
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 4 (ABS_RY)
      Value    161
      Min   -32768
      Max    32767
      Fuzz      16
      Flat     128
    Event code 5 (ABS_RZ)
      Value      0
      Min        0
      Max      255
    Event code 16 (ABS_HAT0X)
      Value      0
      Min       -1
      Max        1
    Event code 17 (ABS_HAT0Y)
      Value      0
      Min       -1
      Max        1
  Event type 21 (EV_FF)
    Event code 80 (FF_RUMBLE)
    Event code 81 (FF_PERIODIC)
    Event code 88 (FF_SQUARE)
    Event code 89 (FF_TRIANGLE)
    Event code 90 (FF_SINE)
    Event code 96 (FF_GAIN)
Properties:
Testing ... (interrupt to exit)
^C

그래서 내 컨트롤러가 켜져 있고 /dev/input/event25럼블을 지원합니다.

$ fftest /dev/input/event25
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/event25 opened
Features:
  * Absolute axes: X, Y, Z, RX, RY, RZ, Hat 0 X, Hat 0 Y, 
    [3F 00 03 00 00 00 00 00 ]
  * Relative axes: 
    [00 00 ]
  * Force feedback effects types: Periodic, Rumble, Gain, 
    Force feedback periodic effects: Square, Triangle, Sine, 
    [00 00 00 00 00 00 00 00 00 00 03 07 01 00 00 00 ]
  * Number of simultaneous effects: 16

Setting master gain to 75% ... OK
Uploading effect #0 (Periodic sinusoidal) ... OK (id 0)
Uploading effect #1 (Constant) ... Error: Invalid argument
Uploading effect #2 (Spring) ... Error: Invalid argument
Uploading effect #3 (Damper) ... Error: Invalid argument
Uploading effect #4 (Strong rumble, with heavy motor) ... OK (id 1)
Uploading effect #5 (Weak rumble, with light motor) ... OK (id 2)
Enter effect number, -1 to exit
0
Now Playing: Sine vibration
Enter effect number, -1 to exit
4
Play effect: No such device

이것은 No such device기적에 관한 것입니다. 내 컨트롤러가 어떻게 든 연결이 끊어졌습니다.

나는 읽었다아치스 위키그리고 이것을 발견했습니다:

게임에서 럼블 기능이 작동하지 않는 문제가 있는 경우 환경 변수 SDL_JOYSTICK_HIDAPI=0을 설정해야 할 수도 있습니다.

그래서 다음사용자 환경 변수를 설정하는 방법은 무엇입니까?, 나는 /etc/environmentedit 를 사용합니다 SDL_JOYSTICK_HIDAPI=0. 그런 다음 재부팅합니다. 여기서는 성공하지 못했습니다.

나는 또한 xboxdrvWikipedia의 조언을 따르려고 노력했지만 그것도 효과가 없었습니다.

답변1

이는 전원 문제일 수 있습니다. 하나 이상의 360 컨트롤러를 전원이 공급되지 않는 USB 허브에 연결할 때 비슷한 문제가 발생했습니다.

이는 전원이 공급되지 않는 허브에서는 모든 장치가 업스트림 포트에서 전류를 분리해야 하기 때문입니다. 전원이 공급되는 허브에서는 각 포트에 자체 전류 제한이 있습니다.

해결 방법은 전원이 공급되는 허브로 전환하거나 컨트롤러를 컴퓨터에 직접 연결하는 것입니다.

원천

관련 정보