PC fails to boot when kinect is left plugged in USB port

Home Forums AR Sandbox Forum PC fails to boot when kinect is left plugged in USB port

This topic contains 8 replies, has 3 voices, and was last updated by  liudr 6 months, 3 weeks ago.

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #108439

    liudr
    Participant

    I just built a new AR sandbox with an HP Pavilion power desktop. Everything works except that if I leave kinect (xbox360) connected to the PC when I boot or restart, the HP hangs at boot, displaying HP logo. If I don’t connect kinect, boot to linux, connect kinect, it works fine. If I boot to bios, browse the PC settings, and plug in kinect, bios freezes. I have turned off USB boot or secure boot and TPM etc. I searched the internet. My conclusion is that certain USB device will freeze certain bios firmware. I upgraded bios to the most recent version and that didn’t remove the problem.

    I have tried 2 different kinect sensors and two power supplies. It’s very consistent. Don’t leave it plugged in if you wish to boot.

    I counted 10 seconds is enough between pressing power button to boot and plugging in kinect. Are there any usb delay start adapters to physically connect a USB device with a delay? Googled it, only this post with no conclusion:

    https://superuser.com/questions/683429/physically-delay-usb-connection-on-startup

    This problem seems common: certain usb device freezes certain bios. Anyone else having this issue with arsandbox? I suspect that the auto start scripts floating around here that occasionally results in non-responsive sensor has something to do with undesirable interaction of the kinect with bios. I’m interested in building a solution for arsandbox and beyond. Just wish to know if the problem is common enough to make an effort. My Dell never had this problem. Otherwise I might have given up on making arsandbox.

    #108462

    liudr
    Participant

    OK, here is the box I built to delay USB connection to the PC for 10 seconds so Kinect won’t be detected by bios and cause freezing.

    Here is a photo of the adapter connected to the PC:

    Inside the box are an arduino and a relay shield.

    #108463

    triwahyu
    Participant

    thank you so much harga iphone x

    #112989

    chemfun
    Participant

    Just got a HP desktop. 🙁 Have the same problem. Thought I would check here for a solution. Any other thoughts apart from making the delay?

    #112992

    liudr
    Participant

    Nope! HP sucks. I built a second version of the delay box for my HP desktop.

    Delay circuit V2

    Left side accepts a USB and right side is mini-USB to be connected to PC. Delay is set to 8 seconds. Works 100% of the time.

    My HP laptop had to use a USB hub if I wanted to use Kinect otherwise it won’t work. You can try connect Kinect to a USB hub to see your luck. If you’re making this setup to sell, contact me. I can make a delay adapter for you.

    #113047

    chemfun
    Participant

    Not lookin to sell. I received authorization (and some cash) to build a sandbox at school. I just got an HP two days ago and got the kinect yesterday. Installed mint last night.

    I have a bit of arduino experience. Did you have to solder on the USB-A? Could you post (or email) the code? My only real programming experience was making a photogate last year.

    #113056

    liudr
    Participant

    Code is simple. The board doesn’t have a USB serial port to connect to arduino IDE or a 16MHz crystal so it needs to be flashed via the ICSP header with 8MHz internal oscillator option. You can’t hand solder the board. It needs to be reflowed. My version 1 had a relay to connect USB and it took a bigger box to fit everything inside. This version uses a dedicated USB switch IC to connect USB after the 10 (not 8 sorry) second delay. The parts and reflow work isn’t beginner level. If you were selling the sandboxes, you should get one made for you. I know how hard school budgets can be. I made one for myself and have spare parts for more. If you want to make your own version with arduino and relay shield/module, you can too. You need a relay shield or module that has at least two relays to connect the two USB data lines. Salvage an old USB mouse for its cord and pass the data lines through the relays. Use AC adapter to power arduino. Then you still have to salvage a USB extension cord so you can connect to kinect. It took me maybe 2 hours once I had everything else ready to go but I’m very good at these things. And it’s just gonna look bulky 🙂

    /*
    * Credit: Dr. John Liu
    * Purpose: This sketch delays the connection of a USB device to host PC by delay_ms amount of time so that it may not be detected by BIOS, which may freeze.
    * 2018-01-12
    */
    // USB delay connect
    //D2 controls selection
    //D3 controls !OE
    //Delay the pass through of D+ and D- for delay_ms before connecting, after power up.
    const unsigned long delay_ms=10000;
    void setup()
    {
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    pinMode(2,OUTPUT);
    }

    void loop()
    {
    delay(delay_ms);
    pinMode(3,OUTPUT);
    while(1){}
    }

    #113189

    chemfun
    Participant

    Thanks. I am sending this to our Tech director. If he can’t build one of these, could I order one?

    What arduino board were you using?

    #113205

    liudr
    Participant

    I was using a MEGA2560 for the version 1 in the aluminum box. You could use UNO. You just need two IO pins to drive the relays to turn on the data pins. I usually build my boards in batches to save time. I’ll build a couple of these next time I run a batch just in case someone wants one. If you are within US, I can ship you one with $25 + shipping (probably $3). It’s half parts cost half labor. I’d ask for more if you were selling them.

Viewing 9 posts - 1 through 9 (of 9 total)

You must be logged in to reply to this topic.

Comments are closed.