Thread: how can i dump a generic device bios/firmware?

  1. #16
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by Bubba View Post
    I cannot imagine why you need to look at the firmware for the modem.
    Quote Originally Posted by Masterx View Post
    the story is i tried to upgrade the modem with the latest firmware from my isp , and it happened to mess my modem functionality , so i thought it would be a good idea to actually reverse the procedure happened meaning to dump another intact modem firmware and upgrade mine with that .
    You were silly to trust your ISP here I think, and should try and hold them responsible. At least complain.

    The problem with writing a device driver is that you may need access to some specs for the device, which most likely those are not publicly available, and notice that device drivers on windows are pretty much never open source. You bought the device, but you did not pay for the specs yet, and chances are no one's gonna give them to you

    Also, if writing a device driver is anything like it is on linux, it's not a trivial task. It may be a good learning experience but if you cannot get the information you need about the device from the manufacturer, it is likely to end in frustration and failure. Some devices can be probed and "reverse engineered" , but that might not be a good idea for your first attempt. You'd be better off learning with a device that has an open source driver you can examine, or where the relevant specs are available. This excludes most normal consumer items.
    Last edited by MK27; 04-10-2010 at 01:27 PM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  2. #17
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    I cannot imagine why you need to look at the firmware for the modem.
    Re-iterated.

    This situation does not require you to do any programming. You do not own the modem, you did not manufacture the modem, and you probably have signed some agreement when you ordered the service that you would not reverse engineer the technology. If you do not have the spec or data sheet for the device then any effort on your part is going to end in frustration. You have to know how to talk to the device and how it talks back. This information is only provided to those who are either licensed devs for the product or that has been leaked on the internet. Most devices come with drivers that make this task very simple but again you must know how to talk to the driver.

    Talk to your ISP and have them resolve the situation. You should be able to re-flash the modem. The only reason I can think why you may not want to contact your ISP is that you did something during the flash process that messed it up which makes you liable and thus will have to pay for a new one from your ISP.
    Last edited by VirtualAce; 04-10-2010 at 01:48 PM.

  3. #18
    System Novice siavoshkc's Avatar
    Join Date
    Jan 2006
    Location
    Tehran
    Posts
    1,246
    Quote Originally Posted by Sebastiani
    Sure it can. You'd probably need to write a device-driver, though.
    How are you too sure?

    [EDIT]
    @Masterx: Tell your ISP to give you an older firmware version. Disable/Enable SRA in modem options.
    Last edited by siavoshkc; 04-11-2010 at 08:26 AM.
    Learn C++ (C++ Books, C Books, FAQ, Forum Search)
    Code painter latest version on sourceforge DOWNLOAD NOW!
    Download FSB Data Integrity Tester.
    Siavosh K C

  4. #19
    بابلی ریکا Masterx's Avatar
    Join Date
    Nov 2007
    Location
    Somewhere nearby,Who Cares?
    Posts
    497
    Quote Originally Posted by MK27 View Post
    You were silly to trust your ISP here I think, and should try and hold them responsible. At least complain.

    The problem with writing a device driver is that you may need access to some specs for the device, which most likely those are not publicly available, and notice that device drivers on windows are pretty much never open source. You bought the device, but you did not pay for the specs yet, and chances are no one's gonna give them to you

    Also, if writing a device driver is anything like it is on linux, it's not a trivial task. It may be a good learning experience but if you cannot get the information you need about the device from the manufacturer, it is likely to end in frustration and failure. Some devices can be probed and "reverse engineered" , but that might not be a good idea for your first attempt. You'd be better off learning with a device that has an open source driver you can examine, or where the relevant specs are available. This excludes most normal consumer items.
    thank you verymuch , yeah , i think i should have thought more before doing that.
    anyways , would you help me find some simple device with opensource drivers for studying matters? i realy like to learn sth about these stuff . im kinda obsessed with these stuff now adays !
    Quote Originally Posted by Bubba View Post
    Re-iterated.

    This situation does not require you to do any programming. You do not own the modem, you did not manufacture the modem, and you probably have signed some agreement when you ordered the service that you would not reverse engineer the technology. If you do not have the spec or data sheet for the device then any effort on your part is going to end in frustration. You have to know how to talk to the device and how it talks back. This information is only provided to those who are either licensed devs for the product or that has been leaked on the internet. Most devices come with drivers that make this task very simple but again you must know how to talk to the driver.

    Talk to your ISP and have them resolve the situation. You should be able to re-flash the modem. The only reason I can think why you may not want to contact your ISP is that you did something during the flash process that messed it up which makes you liable and thus will have to pay for a new one from your ISP.
    first of all i didnt do anything more than what the ISP support guys told me to do.
    having said that , i definitely will not leave them alone !
    and about the driver,i really want to know the basics,lets put these modem firmwares aside,can you guide me on anytutorials or any steps whihc i should take ?
    i will be grateful to you guys .
    Quote Originally Posted by siavoshkc View Post
    How are you too sure?

    [EDIT]
    @Masterx: Tell your ISP to give you an older firmware version. Disable/Enable SRA in modem options.
    tanx siavoshkc, i'll do it .
    ( i didnt answer because i didnt have the internet connection now for a week or two (including today).)

    again I Thank all of you for all of the info you kindlay gave to me .
    Thanks alot
    Highlight Your Codes
    The Boost C++ Libraries (online Reference)

    "...a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are,in short, a perfect match.."
    Bill Bryson


  5. #20
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    and about the driver,i really want to know the basics,lets put these modem firmwares aside,can you guide me on anytutorials or any steps whihc i should take ?
    i will be grateful to you guys
    Not in the context of one thread we can't.

  6. #21
    بابلی ریکا Masterx's Avatar
    Join Date
    Nov 2007
    Location
    Somewhere nearby,Who Cares?
    Posts
    497
    so how should i go for it then ?
    Highlight Your Codes
    The Boost C++ Libraries (online Reference)

    "...a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are,in short, a perfect match.."
    Bill Bryson


  7. #22
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    I dunno anything about windows drivers and am sure the API for that is completely unrelated to linux, although the specifications, for, eg, a USB device, are standardized and platform independent. You can download them from here:

    USB.org - Approved Device Class Document Download

    I have the video class one, it's like 200+ pages mostly of struct like definitions of things called endpoints and descriptors, you will need another source to understand how those are used (eg, an MS Windows device driver programming book will be essential).

    I gave up on device drivers because I am not much of a hardware freak -- I don't need to start buying it to play around with, and reverse engineering the el cheapo USB camera I have to write a linux driver for it, and getting that to work with existing front end video software, is not something I have enough time for.

    It's the reverse engineering aspect which sucks, esp. if you have not "forward engineered" something , by this I mean written a driver for which you have the necessary, specific stats (not just the generic, all inclusive standards from the above site). To do that, you will have to find a device that comes with stats. This includes the kinds of things you might build yourself with a soldering iron, etc, if you were into electronics/robotics/whatever.

    I think you will have a hard time finding a normal, easily available consumer item to work with. However, there are weird things like this you could order online:
    Delcom Products Inc. - Home Page
    as I've read that:
    Delcom Engineering is nice enough to ship the entire USB protocol specification their devices use with the product, and it also is available on-line for free. This documentation shows what commands the USB controller chip accepts and how to use them. They also provide a Microsoft Windows DLL to help users of other operating systems write code to control the device.
    That's with respect to the "USB Visual Signal Indicator", but I presume it is true for all their products. Myself personally, I might go for a few lights and the "quad foot switch"

    Anyway, that's the route I'd take if I wanted to get serious about it.
    Last edited by MK27; 04-18-2010 at 07:42 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  8. #23
    بابلی ریکا Masterx's Avatar
    Join Date
    Nov 2007
    Location
    Somewhere nearby,Who Cares?
    Posts
    497
    Quote Originally Posted by MK27 View Post
    I dunno anything about windows drivers and am sure the API for that is completely unrelated to linux, although the specifications, for, eg, a USB device, are standardized and platform independent. You can download them from here:

    USB.org - Approved Device Class Document Download

    I have the video class one, it's like 200+ pages mostly of struct like definitions of things called endpoints and descriptors, you will need another source to understand how those are used (eg, an MS Windows device driver programming book will be essential).

    I gave up on device drivers because I am not much of a hardware freak -- I don't need to start buying it to play around with, and reverse engineering the el cheapo USB camera I have to write a linux driver for it, and getting that to work with existing front end video software, is not something I have enough time for.

    It's the reverse engineering aspect which sucks, esp. if you have not "forward engineered" something , by this I mean written a driver for which you have the necessary, specific stats (not just the generic, all inclusive standards from the above site). To do that, you will have to find a device that comes with stats. This includes the kinds of things you might build yourself with a soldering iron, etc, if you were into electronics/robotics/whatever.

    I think you will have a hard time finding a normal, easily available consumer item to work with. However, there are weird things like this you could order online:
    Delcom Products Inc. - Home Page
    as I've read that:

    That's with respect to the "USB Visual Signal Indicator", but I presume it is true for all their products. Myself personally, I might go for a few lights and the "quad foot switch"

    Anyway, that's the route I'd take if I wanted to get serious about it.
    Thank you so much . i really appreciate that .
    i've never imagined it that hard! it seems alot tougher than what i used to think .
    and im not much into electronics either.
    anyways i really think im going to give it a try no matter how hard it seems at first.
    thanks a great deal again .
    Highlight Your Codes
    The Boost C++ Libraries (online Reference)

    "...a computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are,in short, a perfect match.."
    Bill Bryson


Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Device Driver: sysfs confusion
    By filker0 in forum Linux Programming
    Replies: 0
    Last Post: 12-02-2005, 11:36 AM
  2. Linux (2.6.10+) device driver: multiple classes?
    By filker0 in forum Linux Programming
    Replies: 3
    Last Post: 09-26-2005, 08:46 PM
  3. Modem in Linux need help fast please!
    By xxxrugby in forum Tech Board
    Replies: 0
    Last Post: 03-30-2005, 04:10 PM
  4. Replies: 4
    Last Post: 06-30-2004, 03:11 PM
  5. Device problem
    By John22 in forum C Programming
    Replies: 0
    Last Post: 12-19-2002, 12:02 PM

Tags for this Thread