I'm trying to access the filesystem of the EA2750's firmware. Here is a link to download it http://downloads.linksys.com/downloads/firmware/FW_EA2750_1.1.7.172380_prod.img. The problem is it is an img file and I'm not exactly sure how to go about trying to access it.

Here is the binwalk signature scan output:

$ binwalk FW_EA2750_1.1.7.172380_prod.img 

0             0x0             uImage header, header size: 64 bytes, header CRC: 0x143599, created: 2016-05-04 16:53:12, image size: 1935492 bytes, Data Address: 0x80000000, Entry Point: 0x8000C2F0, data CRC: 0x57C547E2, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "Linksys EA2750 Router"
64            0x40            LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 5956532 bytes
1966080       0x1E0000        JFFS2 filesystem, little endian
  • I also ran file against it. FW_EA2750_1.1.7.172380_prod.img: u-boot legacy uImage, Linksys EA2750 Router, Linux/MIPS, OS Kernel Image (lzma), 1935492 bytes, Wed May 4 12:53:12 2016, Load Address: 0x80000000, Entry Point: 0x8000C2F0, Header CRC: 0x00143599, Data CRC: 0x57C547E2
    – John Doe
    Jun 27, 2017 at 1:41
  • I tried running the img file against a programm called jefferson (github.com/sviehb/jefferson.git) but when I ran it it gave me this error. Edit: couldn't fit it into one comment.
    – John Doe
    Jun 27, 2017 at 15:00
  • File "/usr/local/bin/jefferson", line 498, in <module> main() File "/usr/local/bin/jefferson", line 470, in main fs_list = scan_fs(content, cstruct.BIG_ENDIAN, verbose=args.verbose) File "/usr/local/bin/jefferson", line 290, in scan_fs unknown_node = Jffs2_unknown_node() File "/usr/local/lib/python2.7/dist-packages/cstruct/__init__.py", line 298, in init self.unpack(string) File "/usr/local/bin/jefferson", line 71, in unpack cstruct.CStruct.unpack(self, data[:self.size]) TypeError: 'NoneType' object has no attribute 'getitem'
    – John Doe
    Jun 27, 2017 at 15:01
  • When file is run against 1E0000.jffs2 it is recognized as a little-endian jffs2 filesystem. This means that even though jefferson fails to extract it you can mount the jffs2 filesystem, as discussed in both links in my previous comment. To install the mtd tools: sudo apt-get install mtd-utils
    – julian
    Jun 27, 2017 at 15:06

1 Answer 1


Use the command binwalk -Me FW_EA2750_1.1.7.172380_prod.img

This will recursively extract all files and even extract the JFFS2 filesystem into the folder _FW_EA2750_1.1.7.172380_prod.img.extracted/jffs2-root/fs_1

Edit: As to your jefferson issue, I believe you need to install cstruct 1.0. So.. https://github.com/sviehb/jefferson/issues/9

  • jffs2-root didn't have anything in it but the _40.extracted directory had a file in it called 517834.xz. When I tried to uncompress the xz file it said xz: 517834.xz: Compressed data is corrupt.
    – John Doe
    Jun 27, 2017 at 15:31
  • can you md5sum the firmware for me? 696a94173857c1a2e10d8e72b5bc301f FW_EA2750_1.1.7.172380_prod.img also I'm using binwalk version Binwalk v2.1.2b . I can host the files for you if need be Jun 27, 2017 at 16:05
  • I am using the same version of Binwalk as you (I got it from github yesterday). 696a94173857c1a2e10d8e72b5bc301f FW_EA2750_1.1.7.172380_prod.img
    – John Doe
    Jun 27, 2017 at 16:08
  • Edit: Did you reinstall cstruct using version 1.0 and then try jefferson again? Jun 27, 2017 at 16:13
  • 1
    @JohnDoe if his answer and support were useful to you, return the favor by upvoting and accepting his answer
    – julian
    Jun 27, 2017 at 17:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.