GithubHelp home page GithubHelp logo

tesseract-cobra's Introduction

Tesseract-Cobra

This Project is a Collection of Tools, Firmware and Information and wasent authorized by LYRobotix/NOLO Co., Ltd.

Warning, i am not responsible if you do Brick your Device and make it unusable.

Please read all Instructions carefully.

Goal of this Project is to help Users of Nolo Hardware to flash their Hardware manually and without the usage of the Updaters. Its also our Target to make this Process as simple as possible, and to avoid bricking Hardware.

|-Warnings

  • Do not manually flash your Device if you feel insecure about it or may not have the required Knowledge
  • Be absolutly sure you do use the correct Firmware, only use Files from "/Firmware/Official/"
  • Do not have multiply Nolo Devices connected at the same Time
  • Use an proper USB Cable, having an loose Connection could interrupt the flashing Procedere and damage your Device
  • If you have any further Questions, create an Issue or ask [email protected]

|-Flashing Manually

  1. Lookup "Hardware Identifiers.txt" to find out your Hardware Model
  2. Go to "/Drivers" and Install the ST32 Driver for CV1 Pre-Sale Devices or the GD32 Driver for regular CV1 Devices (idk about Nolo Home yet, propably its GD32)
  3. Bring your Device into DFU Mode, Information on how todo can be found in "Enter Recovery and DFU-Mode.md"
  4. Go to "/Tools" and go to "DfuSe" for flashing CV1 Pre-Sale Devices and "GD32" for regular CV1 Devices (idk about Nolo Home yet, propably its GD32)
  5. A: For ST32, open up "/Bin/DfuSeDemo.exe"
    B: For GD32, Open up "GD32 MCU Dfu Tool.exe"
  6. A: For ST32, select the Device in the upper Drop-Down Menu. If you see more then one Device, unplug your Hardware to find out which Device to use. Some Bluetooth Adapters are always in DFU mode, you may temporary disable them in the Device Manager.
    B: For GD32, click "No" when the Software asks for an Update. Select the Device in the upper Drop-Down Menu. If you see more then one Device, unplug your Hardware to find out which Device to use. Some Bluetooth Adapters are always in DFU mode, you may temporary disable them in the Device Manager
  7. Download the required Firmware coresponding to your Device from "/Firmware/Official"
  8. A: For ST32, click on "Choose..." in the "Upgrade or Verify Action" Section >Picture<. Navigate to the previously downloaded Firmware and select it. Click "Upgrade" to start the flashing Procedure, do not disconnect the Device now!
    B: For GD32, change the starting Adress in the "Download APP program file" Section, from 8000000 to 8003000 >Picture<. Click on "open" >Picture<. In the Lower right, select "BIN Files" >Picture<. Navigate to the previously downloaded Firmware and select it. Click "OK" in the lower right to start the flashing Procedure, do not disconnect the Device now!

tesseract-cobra's People

Contributors

djplaya avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tesseract-cobra's Issues

Check firmware version

Hi,

I bought second set of nolo and forgot how I checked in the past firmware version under linux. I can do it from a Windows if you don't have idea. Previous one used v2.x, so was unable to use it under Linux with OSVR.
This one is non-retail, detached from Deepoon Headset by someone.

I will post data from lsusb and dmesg I gathered below:

ST32 Driver won't install [Windows 10]

When I try to install the ST32 driver in Win10 the installer fails.

It says: "Errors were encountered while installing the software for your devices. See the Status column for more details.

Sometimes it helps to run this wizard again. If that doesn't work, contact your device vendor"

The only information in the Status column is the text "Install failed"

And I have tried running it again a few times, rebooting, etc.

Be careful with GD devices

The default download address in the GD DFU tool is 0x08000000. However, the correct starting address for the firmware bin file should be 0x08003000.
Using the default address to download the firmware will brick the device. If the original firmware is not backed beforehand, there will be no way to recover the device due to copy protection.

Help with dumping Nolo CV1 Pro

Thank you for making such an useful guide.
I have a Nolo CV1 Pro and I want to dump firmware from it, but I am having problems.
I installed GD32 driver from the repo, and newest from the manufacturer's website, tried GD32 MCU Dfu Tool from here and from the manufacturer but after connecting the device in recovery mode it doesn't appear on the dropdown, neither in PortHelper.
Did I miss an important step? Could the Nolo driver be interfering?
This is the output on Linux of lsusb, maybe it will help?

 Device: ID 28e9:0302 GDMicroelectronics CV1_PRO_HEAD
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x28e9 GDMicroelectronics
  idProduct          0x0302
  bcdDevice            1.00
  iManufacturer           1 GigaDevice
  iProduct                2 CV1_PRO_HEAD
  iSerial                 3 GD32F3XX-V1.0.0-4b5c6de
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0069
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      33
          Report Descriptor: (length is 33)
            Item(Global): Usage Page, data= [ 0x8c ] 140
                            Bar Code Scanner Page (POS)
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Local ): Usage, data= [ 0x03 ] 3
                            (null)
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x00 0xff ] 65280
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x40 ] 64
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Local ): Usage, data= [ 0x04 ] 4
                            (null)
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x00 0xff ] 65280
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x40 ] 64
            Item(Main  ): Output, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      33
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      33
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
cannot read device status, Resource temporarily unavailable (11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.