GithubHelp home page GithubHelp logo

rsa9000 / mtkeepmgr Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 3.0 56 KB

Mediatek EEPROM manager, utility to dump and parse the EEPROM content of Mediatek based wireless NICs and Routers

License: ISC License

Makefile 1.02% C 98.98%
wireless nic wnic eeprom efuse mediatek mt7610

mtkeepmgr's Introduction

mtkeepmgr: Mediatek EEPROM manager

This is a utility to dump, parse and print the EEPROM content of Mediatek based wireless equipment (NICs, APs, etc.).

The following EEPROM content access methods are supported:

  • via USB (using libusb and vendor specific USB device commands)
  • file dump

Building

Utility building as simple as typing make on average system. Builing requirements:

  • gcc
  • GNU make
  • pkg-config (optional, used only to build with libusb support)
  • libusb (optional, allows accessing USB devices)

Usage examples

mtkeepmgr contains a detailed usage info, in any ambiguous case just type mtkeepmgr -h.

Work with saved EEPROM dumps

Print contents of an EEPROM dump file

To check device configuration using earlier saved EEPROM data file dump.bin just type:

$ mtkeepmgr -F dump.bin

USB dongle handling

When linking with libusb the utility provide few useful options for USB dongle work analysis or debugging. mtkeepmgr supports multiple ways to specify target USB device, see the utility usage info for details.

Print EEPROM configuration of first USB dongle

It is quite common to have only one USB dongle connected to your host. If USB VID/PID of this dongle is known to mtkeepmgr then use the following command to obtain device EEPROM configuration:

$ mtkeepmgr -U any

Print or save EEPROM configuration of a specific USB device

If you have multiple devices connected to your host, then you would like to specify exact device to interact with. Lets say that your device have address #123 on USB bus #3. Then you could you the following command to access target device:

$ mtkeepmgr -U 3:123

mtkeepmgr is able to save EEPROM data for future analysis. E.g. to save EEPROM data to dump.bin file:

$ mtkeepmgr -U 3:123 save dump.bin

Save EEPROM data of a new USB device

Sometime you could face USB device that is not known to mtkeepmgr. Normally mtkeepmgr will reject to interact with unknown USB devices. But if you certanly know that the new USB device is based on a known chip model, then you could force mtkeepmgr to work with it. Lets assume that the device from the previous example has USB identifiers 0x0123/0xabcd (VID/PID), then command to save EEPROM data of such device will be:

$ mtkeepmgr -U 3:123,0123:abcd save dump.bin

Print EEPROM configuration of a device in a specific USB port

If you periodically disconnect and connect again your USB dongle, then it bus address will change. In this case, it becomes impractical to specifying device by its address. It becomes better to specify device by its connection port and mtkeepmgr support this.

Lets say that you have a couple of cascaded USB hubs and a bunch of USB dongles that are connected to the second USB hub. Lets assume that the first hub is connected to a host USB bus #3 port #2 and then the second USB hub connected to the 4th port of the first hub. And also lets assume that the target USB device is connected to the 1st port of the second USB hub. To access the target device type device path starting from USB bus number and then list ports one by one from root toward the target device delimiting item ports with slash:

$ mtkeepmgr -U 3/2/4/1

If USB hubs in above example have only one connected USB dongle, then you could save your time by specifying only the path prefix till the first hub:

$ mtkeepmgr -U 3/2/

Note the trailing slash that indicates that the path prefix was specified.

License

This project is licensed under the terms of the ISC license. See the LICENSE file for license rights and limitations.

mtkeepmgr's People

Contributors

rsa9000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

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.