Resource icon

Disk failure LEDs for Supermicro SAS backplanes 0.3

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Curiouser and curiouser. drives-little_tank is showing the two drives in your mirror, their SAS addresses, and the enclosure address. drives-tank, though, isn't showing the enclosure address. Without that, the script won't work, as it won't know which light to turn on in the event of an offline/faulted disk. But it isn't at all clear to me why that wouldn't be there.
 

carlos juan

Dabbler
Joined
Sep 12, 2014
Messages
38
Curiouser and curiouser. drives-little_tank is showing the two drives in your mirror, their SAS addresses, and the enclosure address. drives-tank, though, isn't showing the enclosure address. Without that, the script won't work, as it won't know which light to turn on in the event of an offline/faulted disk. But it isn't at all clear to me why that wouldn't be there.
The funniest thing is that if I run the script myself from shell it runs flawlessly:
Code:
[root@m5_nas ~]# /mnt/tank/scripts/zpscan.sh tank							  
Saving drive list.															
[root@m5_nas ~]# cd .sas2ircu												  
[root@m5_nas ~/.sas2ircu]# /mnt/tank/scripts/zpscan.sh tank					
Saving drive list.															
[root@m5_nas ~/.sas2ircu]# cat drives-tank									
da7 5003048-0-006f-72b2 2:6													
da5 5003048-0-006f-72ac 2:0													
da3 5003048-0-006f-72ae 2:2													
da6 5003048-0-006f-72af 2:3													
da4 5003048-0-006f-72b6 2:10													
da2 5003048-0-006f-72ad 2:1													
[root@m5_nas ~/.sas2ircu]#	


some black magic is at work
 
Last edited:

carlos juan

Dabbler
Joined
Sep 12, 2014
Messages
38
does this ring a bell?
Code:
Oct 30 06:51:33 m5_nas cronjob: Sending email notification of degraded pool tank
Oct 30 06:51:33 m5_nas cronjob: No $home variable set.
 

carlos juan

Dabbler
Joined
Sep 12, 2014
Messages
38
Success!!!!

after replacing
Code:
/tmp/glabel-lookup.sed

with
Code:
/usr/local/bin/glabel-lookupZ.sed


the cronjob works like a charm now! as far as I understand this, somehow the cronjob couldn't make the file (or delete it) as the folder was not set in its variables, after using /usr/local/bin/ to make and delete the sed file, everything works now :) thank you so much Dan (once again) for making this work in freenas!
 
Last edited:

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Success!!!!

after replacing
Code:
/tmp/glabel-lookup.sed

with
Code:
/usr/local/bin/glabel-lookupZ.sed


the cronjob works like a charm now! as far as I understand this, somehow the cronjob couldn't make the file (or delete it) as the folder was not set in its variables, after using /usr/local/bin/ to make and delete the sed file, everything works now :) thank you so much Dan (once again) for making this work in freenas!
I'm glad it's working for you, but that's... bizarre. I'd understand if it were one (or more) of the commands (i.e., things that live in /usr/local/bin/ anyway, like sas2ircu) that couldn't be found, but glabel-lookup.sed is a text file, with an explicitly-specified path. That (1) it would work with a mirrored pool, and not with a raidz2 pool; and (2) not work with that file in /tmp/, but work with it in /usr/local/bin/, is just strange.

So, to be clear, you changed six lines in the script. Two lines that said
Code:
glabel status | awk '{print "s|"$1"|"$3"\t\t\t  |g"}' > /tmp/glabel-lookup.sed

You changed to
Code:
glabel status | awk '{print "s|"$1"|"$3"\t\t\t  |g"}' > /usr/local/bin/glabel-lookupZ.sed


Two lines that said
Code:
drivelist=$(zpool status $pool | sed -f /tmp/glabel-lookup.sed | sed 's/p[0-9]//' | grep -E "(DEGRADED|FAULTED|OFFLINE|UNAVAIL|REMOVED|FAIL|DESTROYED)" | grep -vE "^\W+($pool|NAME|mirror|raidz|stripe|logs|spares|state)" | sed -E $'s/.*was \/dev\/([0-9a-z]+)/\\1/;s/^[\t  ]+([0-9a-z]+)[\t ]+.*$/\\1/')

you changed to
Code:
drivelist=$(zpool status $pool | sed -f /usr/local/bin/glabel-lookupZ.sed | sed 's/p[0-9]//' | grep -E "(DEGRADED|FAULTED|OFFLINE|UNAVAIL|REMOVED|FAIL|DESTROYED)" | grep -vE "^\W+($pool|NAME|mirror|raidz|stripe|logs|spares|state)" | sed -E $'s/.*was \/dev\/([0-9a-z]+)/\\1/;s/^[\t  ]+([0-9a-z]+)[\t ]+.*$/\\1/')


...and two lines that said
Code:
rm /tmp/glabel-lookup.sed

You changed to
Code:
rm /usr/local/bin/glabel-lookupZ.sed


Is that right? And is that the only change?
 

carlos juan

Dabbler
Joined
Sep 12, 2014
Messages
38
I'm glad it's working for you, but that's... bizarre. I'd understand if it were one (or more) of the commands (i.e., things that live in /usr/local/bin/ anyway, like sas2ircu) that couldn't be found, but glabel-lookup.sed is a text file, with an explicitly-specified path. That (1) it would work with a mirrored pool, and not with a raidz2 pool; and (2) not work with that file in /tmp/, but work with it in /usr/local/bin/, is just strange.

So, to be clear, you changed six lines in the script. Two lines that said
Code:
glabel status | awk '{print "s|"$1"|"$3"\t\t\t  |g"}' > /tmp/glabel-lookup.sed

You changed to
Code:
glabel status | awk '{print "s|"$1"|"$3"\t\t\t  |g"}' > /usr/local/bin/glabel-lookupZ.sed


Two lines that said
Code:
drivelist=$(zpool status $pool | sed -f /tmp/glabel-lookup.sed | sed 's/p[0-9]//' | grep -E "(DEGRADED|FAULTED|OFFLINE|UNAVAIL|REMOVED|FAIL|DESTROYED)" | grep -vE "^\W+($pool|NAME|mirror|raidz|stripe|logs|spares|state)" | sed -E $'s/.*was \/dev\/([0-9a-z]+)/\\1/;s/^[\t  ]+([0-9a-z]+)[\t ]+.*$/\\1/')

you changed to
Code:
drivelist=$(zpool status $pool | sed -f /usr/local/bin/glabel-lookupZ.sed | sed 's/p[0-9]//' | grep -E "(DEGRADED|FAULTED|OFFLINE|UNAVAIL|REMOVED|FAIL|DESTROYED)" | grep -vE "^\W+($pool|NAME|mirror|raidz|stripe|logs|spares|state)" | sed -E $'s/.*was \/dev\/([0-9a-z]+)/\\1/;s/^[\t  ]+([0-9a-z]+)[\t ]+.*$/\\1/')


...and two lines that said
Code:
rm /tmp/glabel-lookup.sed

You changed to
Code:
rm /usr/local/bin/glabel-lookupZ.sed


Is that right? And is that the only change?

Yes! that's right, All I changed were only those, first ran the script in the shell to see if it was working, after checking it was working ok, I enabled the cronjob with the updated code and it worked!

You got me thinking... as my box started with freenas 9.2 or something, but a 9.x and I have only done upgrades (happily I just passed corral and did not upgrade to that mess) after the first install... Im thinking I should do a clean install from zero, just to be sure there is no gremlin lurking in the dark.
 
Last edited:
Joined
Jan 18, 2017
Messages
525
I received this email last night so I figured now was as good a time as any to test out this script but it didn't work exactly as expected.


Device: /dev/da6 [SAT], failed to read SMART Attribute Data
Device: /dev/da6 [SAT], Read SMART Self-Test Log Failed
Device: /dev/da6 [SAT], not capable of SMART self-check
The volume Main state is DEGRADED: One or more devices are faulted in response to persistent errors. Sufficient replicas exist for the pool to continue functioning in a degraded state.
Device: /dev/da6 [SAT], Read SMART Error Log Failed


The machine running the script
Case: SuperMicro 847E16-R1400UB
Motherboard: SuperMicro X8DTU-F
CPU: 2 x Intel Xeon E5645
Ram: 96GB DDR3 ECC
Boot Drive: 2 x Transcend SSD370S 32GB
Storage Drive:7 x 2TB Seagate ST2000NM0125 1 x ST8000NM0055
LSI 9201-16i
Chelsio 10GBASE-CX4 S320E-CXA
FreeNas 11.0 U4

Ran the script and I immediately received another email in regards to the degraded pool but if looks like it locked up when trying to locate the drive here is what it said.

Code:
Usage: zpscan.sh pool
Scan a pool, send email notification and activate leds of failed drives
% sudo ./zpscan.sh Main
Sending email notification of degraded pool Main
Locating failed drives.
Locating:
LSI Corporation SAS2 IR Configuration Utility.
Version 20.00.00.00 (2014.09.18)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved.

  sas3ircu <controller #> LOCATE <Encl:Bay> <Action> [Wait [Time]]
	where <controller #> is:
	  A controller number between 0 and 255.
	where <Encl:Bay> is:
	  A valid Enclosure and Bay pair to identify
	  the drive
	where <Action> is:
	  ON   -  turn ON the drives LED
	  OFF  -  turn OFF the drives LED
	where [Wait [Time]] is:
	  Minimum time location indicator blink for a particular drive
		   optional option, valid only for ON action
	  Time -  Waiting time between 1 to 60 seconds


SAS2IRCU: Error executing command LOCATE.



Any idea's sadly I'm away from the machine at the moment and can't actually see if it illuminated any of the lights.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
I received this email last night so I figured now was as good a time as any to test out this script
Had you run it previously? The script is intended to be run periodically, so that it can generate the list of what disks are in which locations when the pool is healthy. If that list isn't there, that could be causing what you're seeing.
 
Joined
Jan 18, 2017
Messages
525
Interesting I hadn't run it previously I'll see what it does after the resilver tomorrow
 
Joined
Jan 18, 2017
Messages
525
Seems to have worked correctly, turned on the light on the appropriate drive when I offlined it. I also learned you cannot control the lights if there is no drive in the bay (which there wasn't since i relocated the drive lol).
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Seems to have worked correctly, turned on the light on the appropriate drive when I offlined it.
Thanks for the feedback--I'm not sure how hardware-specific the script is, but good to know it doesn't just work on my hardware.
 

bollar

Patron
Joined
Oct 28, 2012
Messages
411
Cool idea for a script. When I run it on FreeNAS 11.1, I get this error:

Code:
root@storage:~ # /mnt/tank/scripts/zpscan.sh tank

Saving drive list.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.

Usage: grep [OPTION]... PATTERN ...

Try `grep --help' for more information.


In ~/.sas2ircu there are two files, drives-tank & locs-tank locs is empty. Drives is as follows:

Code:
da10

da13

da11

da6

da15

da7

da14

da4

da5

da12

da9

da1

da2

da0

da8

da3

ada2
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Drives should look more like this:
Code:
root@freenas2:~/.sas2ircu # cat drives-tank
da11 5003048-0-00e5-7b97 2:11
da10 5003048-0-00e5-7b96 2:10
da9 5003048-0-00e5-7b95 2:9
da8 5003048-0-00e5-7b94 2:8
da7 5003048-0-00e5-7b93 2:7
da6 5003048-0-00e5-7b92 2:6

I see your motherboard and HBA information in your .sig, but what are you using for a backplane?
 

bollar

Patron
Joined
Oct 28, 2012
Messages
411

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
BPN-SAS-836EL1
That's a SAS (i.e., SAS1) expander backplane; my system is SAS2. I wonder if that makes a difference. What's the output of sas2ircu 0 display?
 

bollar

Patron
Joined
Oct 28, 2012
Messages
411
That's a SAS (i.e., SAS1) expander backplane; my system is SAS2. I wonder if that makes a difference. What's the output of sas2ircu 0 display?
Yeah, here you go:

Code:
root@storage:~/.sas2ircu # sas2ircu 0 display

LSI Corporation SAS2 IR Configuration Utility.

Version 20.00.00.00 (2014.09.18) 

Copyright (c) 2008-2014 LSI Corporation. All rights reserved. 


Read configuration has been initiated for controller 0

------------------------------------------------------------------------

Controller information

------------------------------------------------------------------------

  Controller type						 : SAS2308_1

  BIOS version							: 7.27.00.00

  Firmware version						: 20.00.04.00

  Channel description					 : 1 Serial Attached SCSI

  Initiator ID							: 0

  Maximum physical devices				: 1023

  Concurrent commands supported		   : 10240

  Slot									: 1

  Segment								 : 0

  Bus									 : 1

  Device								  : 0

  Function								: 0

  RAID Support							: No

------------------------------------------------------------------------

IR Volume information

------------------------------------------------------------------------

------------------------------------------------------------------------

Physical device information

------------------------------------------------------------------------

Initiator at ID #0


Device is a Hard disk

  Enclosure #							 : 1

  Slot #								  : 0

  SAS Address							 : 4433221-1-0300-0000

  State								   : Ready (RDY)

  Size (in MB)/(in sectors)			   : 5723166/11721045167

  Manufacturer							: ATA	 

  Model Number							: HGST HDN726060AL

  Firmware Revision					   : W7JH

  Serial No							   : K1HVE3KD

  GUID									: N/A

  Protocol								: SATA

  Drive Type							  : SATA_HDD


Device is a Hard disk

  Enclosure #							 : 1

  Slot #								  : 1

  SAS Address							 : 4433221-1-0200-0000

  State								   : Ready (RDY)

  Size (in MB)/(in sectors)			   : 5723166/11721045167

  Manufacturer							: ATA	 

  Model Number							: WDC WD60EFRX-68M

  Firmware Revision					   : 0A82

  Serial No							   : WDWX21D9421KL0

  GUID									: N/A

  Protocol								: SATA

  Drive Type							  : SATA_HDD


Device is a Hard disk

  Enclosure #							 : 1

  Slot #								  : 2

  SAS Address							 : 4433221-1-0100-0000

  State								   : Ready (RDY)

  Size (in MB)/(in sectors)			   : 5723166/11721045167

  Manufacturer							: ATA	 

  Model Number							: WDC WD60EFRX-68L

  Firmware Revision					   : 0A82

  Serial No							   : WDWX31DA5D6DF5

  GUID									: N/A

  Protocol								: SATA

  Drive Type							  : SATA_HDD


Device is a Hard disk

  Enclosure #							 : 1

  Slot #								  : 3

  SAS Address							 : 4433221-1-0000-0000

  State								   : Ready (RDY)

  Size (in MB)/(in sectors)			   : 5723166/11721045167

  Manufacturer							: ATA	 

  Model Number							: WDC WD60EFRX-68M

  Firmware Revision					   : 0A82

  Serial No							   : WDWX31D65A2E3A

  GUID									: N/A

  Protocol								: SATA

  Drive Type							  : SATA_HDD


Device is a Hard disk

  Enclosure #							 : 1

  Slot #								  : 4

  SAS Address							 : 4433221-1-0700-0000

  State								   : Ready (RDY)

  Size (in MB)/(in sectors)			   : 5723166/11721045167

  Manufacturer							: ATA	 

  Model Number							: HGST HDN726060AL

  Firmware Revision					   : W7JH

  Serial No							   : K1HUN88D

  GUID									: N/A

  Protocol								: SATA

  Drive Type							  : SATA_HDD


Device is a Hard disk

  Enclosure #							 : 1

  Slot #								  : 5

  SAS Address							 : 4433221-1-0600-0000

  State								   : Ready (RDY)

  Size (in MB)/(in sectors)			   : 5723166/11721045167

  Manufacturer							: ATA	 

  Model Number							: WDC WD60EFRX-68M

  Firmware Revision					   : 0A82

  Serial No							   : WDWX21D9421Y66

  GUID									: N/A

  Protocol								: SATA

  Drive Type							  : SATA_HDD


Device is a Hard disk

  Enclosure #							 : 1

  Slot #								  : 6

  SAS Address							 : 4433221-1-0500-0000

  State								   : Ready (RDY)

  Size (in MB)/(in sectors)			   : 5723166/11721045167

  Manufacturer							: ATA	 

  Model Number							: WDC WD60EFRX-68L

  Firmware Revision					   : 0A82

  Serial No							   : WDWXB1HB4JZ594

  GUID									: N/A

  Protocol								: SATA

  Drive Type							  : SATA_HDD


Device is a Hard disk

  Enclosure #							 : 1

  Slot #								  : 7

  SAS Address							 : 4433221-1-0400-0000

  State								   : Ready (RDY)

  Size (in MB)/(in sectors)			   : 5723166/11721045167

  Manufacturer							: ATA	 

  Model Number							: WDC WD60EFRX-68M

  Firmware Revision					   : 0A82

  Serial No							   : WDWX91D65DCUR2

  GUID									: N/A

  Protocol								: SATA

  Drive Type							  : SATA_HDD

------------------------------------------------------------------------

Enclosure information

------------------------------------------------------------------------

  Enclosure#							  : 1

  Logical ID							  : 50030480:0e709700

  Numslots								: 8

  StartSlot							   : 0

------------------------------------------------------------------------

SAS2IRCU: Command DISPLAY Completed Successfully.

SAS2IRCU: Utility Completed Successfully.

root@storage:~/.sas2ircu # 
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504

Visseroth

Guru
Joined
Nov 4, 2011
Messages
546
Just tried the script too with sas3ircu instead of sas2ircu in the script and received...

.
Code:
/zpscan.sh Data
Usage: egrep [OPTION]... PATTERN ...
Try `egrep --help' for more information.
./zpscan.sh: line 19: (DEGRADED|FAULTED|OFFLINE|UNAVAIL|REMOVED|FAIL|DESTROYED|corrupt|cannot|unrecover): command not found
Saving drive list.
./zpscan.sh: line 42: s/^[	]+//;s/([a-z0-9]+).*/\1/: No such file or directory
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
sed: 1: "2!d;s/,.*//;s/
0x//;s ...": unterminated substitute pattern
Usage: grep [OPTION]... PATTERN ...
Try `grep --help' for more information.
./zpscan.sh: line 64: syntax error near unexpected token `fi'
./zpscan.sh: line 64: `fi'

 
Last edited:

Visseroth

Guru
Joined
Nov 4, 2011
Messages
546
Sorry about all the "FILE"s. Seems with the text having file with the brackets in there it makes the page want to do crazy stuff.
 
Top