DSM-G600, DNS-3xx and NSA-220 Hack Forum

Unfortunately no one can be told what fun_plug is - you have to see it for yourself.

You are not logged in.

Announcement

#1 2008-09-21 20:14:41

ocdb8r
New member
Registered: 2008-09-21
Posts: 3

Seagate Barracuda 7200.11 1500GB SATA II (ST31500341AS)

Just grabbed a couple of these on sale and am having no luck.  323 recognizes the drives, but lists them as "Capacity: 0GB" and attempts to format just fail.

Any suggestions?

Offline

 

#2 2008-09-21 20:54:23

luusac
Member
Registered: 2008-04-29
Posts: 360

Re: Seagate Barracuda 7200.11 1500GB SATA II (ST31500341AS)

factory reset the unit
pull the drives, insert them into a desktop machine and delete all partitions
reinsert into dns323, boot up and see if there is any change
you can also try reloading / reapplying dns323 firmware (or upgrade/downgrade)
but are these 1.5 tb drives supported?  Somebody else posted asking whether these are supported recently.
lu

Last edited by luusac (2008-09-21 20:57:39)

Offline

 

#3 2008-10-15 17:15:31

rfbsoft
New member
Registered: 2008-10-15
Posts: 2

Re: Seagate Barracuda 7200.11 1500GB SATA II (ST31500341AS)

Hi,

  the problem is in D-Link firmware. They use modifiable goAhead lightweight http server.
I built it from scratch and append some goforms from D-Link firmware (package goahead from firmware "http://tsd.dlink.com.tw/temp/download/3034/dns323_GPL_v1.05_05052008.tgz").
For the recognition of HDD capacity they use /proc/partitions.
Here is my output (2 Seagate Barracudas ST31500341AS):

# cat /proc/partitions
major minor  #blocks  name

   7     0       5484 loop0
  31     0         64 mtdblock0
  31     1         64 mtdblock1
  31     2       1536 mtdblock2
  31     3       6336 mtdblock3
  31     4        192 mtdblock4
   9     0 2928183424 md0
   8     0 1465138584 sda
   8     1     530113 sda1
   8     2 1464091807 sda2
   8     4     514080 sda4
   8    16 1465138584 sdb
   8    17     530113 sdb1
   8    18 1464091807 sdb2
   8    20     514080 sdb4

Following 2 lines are of interest when it goes about capacity recognition:
   8     0 1465138584 sda
   8    16 1465138584 sdb

The capacity in GB should be calculated this way:
1.) 1465138584 * 1024 = 1500301910016
2.) 1500301910016 / 1000000000 = 1500 (integer division)

But the problem is in parsing of these lines.
Everything runs well if the number of digit is less than 10 (all drives with capacity <= 1TB fullfils this).
In case of ST31500341AS there are 10 digits and the parser parses it wrong as an empty string.

Here is an output from my webs server (with original wrong code):
line2=|   8     0 1465138584 sda|
line2+11=|1465138584 sda|
1.HDtmp=| sda|
2.HDtmp=||
HDSize=
line2=|   8    16 1465138584 sdb|
line2+11=|1465138584 sdb|
1.HDtmp=| sdb|
2.HDtmp=||
HDSize=

And here voila after a little modification:
line2=|   8     0 1465138584 sda|
line2+10=| 1465138584 sda|
1.HDtmp=| 1465138584 sda|
2.HDtmp=| 1465138584|
HDSize= 1465138584
line2=|   8    16 1465138584 sdb|
line2+10=| 1465138584 sdb|
1.HDtmp=| 1465138584 sdb|
2.HDtmp=| 1465138584|
HDSize= 1465138584

The wrong line in Disktool/checkHD.c (function GetHDSizeInfo line: 1048):
                                                        HDtmp=strchr(line2+11,' ');   
It should be:
                                                        HDtmp=strchr(line2+10,' ');   


This is only the reason. Unfortunatly the firmware I downloaded is not complete and there is no possibility to build it (at least for me).
Has anyone any suggestions how to make D-Link to repair their firmware?

Robert

Last edited by rfbsoft (2008-10-16 11:00:33)

Offline

 

#4 2008-10-15 20:09:13

Biscotte
Member
Registered: 2007-05-21
Posts: 81

Re: Seagate Barracuda 7200.11 1500GB SATA II (ST31500341AS)

There is something in the stickies about some types of 1.5 tB being ok for single use but no good for mirrored use.
But that cant be your problem because you already looked, eh?
Biscotte

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2010 PunBB