Author Topic: Rigol DS1000Z series buglist continued (latest: 00.04.04.04.03, 2019-05-30)  (Read 61423 times)

0 Members and 1 Guest are viewing this topic.

Offline BravoV

  • Super Contributor
  • ***
  • Posts: 6113
  • Country: 00
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #125 on: May 15, 2017, 06:50:31 am »
Can anyone else here come up with business arguments that would make this move a clear win? Is there something I'm missing, where they will be throwing away something that Rigol considers critical?

Few that I could think of with the current opened firmware mechanism and current cost sensitive design :

1. Support cost , bricked or damaged scope caused by noob or mistake in using a custom modified firmware.

2. Related to point no.1 , the possibility of rejections or disgruntled distributors as handling product return/replacement caused by bricked modded firmware is considered a money loosing business deal for low margin product. This will hurt business relations.

2. Reputation cost, imagine a high profiled internet celebrities, but a noob that bricked the scope by mistake, and shouting out loud at the internet damaging their reputation, the cost to recover from that isn't something easily to cope with, especially with this low margin product, and also damaging effect for their overall brand's reputation.

3. Control, what this means is, they want to be "in control" on what they produced and sold, even its shitty. As there is NO GUARANTEE that opened model and publicly modded firmware will be always better.

4. Sum up all above points 1 to 3, they are big company, pretty sure the risk & gain from their business perspective, this will be not a top priority, and imo they must have something "else" better to do.


Few notes especially to point 1 if they really want to pursue this road, I think its mandatory that they need to put a clearly stated EULA, like putting on the boot screen, that a custom modded firmware will void the scope warranty. Also not sure if this is even legal at all countries ?

Also put some protection mechanism that is not easily to tamper, in order to detect if modded firmware was loaded even once, hence its easy to reject warranty claim. Not sure if this will increase the cost.  :-//
« Last Edit: May 15, 2017, 10:11:55 am by BravoV »
 
The following users thanked this post: JPortici

Offline boggis the cat

  • Regular Contributor
  • *
  • Posts: 150
  • Country: nz
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #126 on: May 15, 2017, 07:47:01 am »
You could make a software check / dump part of the support / RMA process.  'Put this on USB drive, insert in product, record information on display' type deal.  If the check fails to work, then a dump of critical software could be done to determine if the problem was due to 'official' software or not.  (Posting a process to 'un-brick' the 'scope for those who do manage to do so shouldn't be too hard.  It shouldn't be possible to physically damage a 'scope via firmware -- so far as I am aware.)

If you choose to modify something then you lose warranty, unless you stick to 'sanctioned' modifications such as updates from the manufacturer.  The manufacturer could choose to use better code that is released, or just stay with a buggy 'official' version and let customers decide whether they want to tinker or not.
 

Offline Karel

  • Super Contributor
  • ***
  • Posts: 1376
  • Country: 00
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #127 on: May 15, 2017, 07:47:06 am »
Thank you for confirming my findings related to this "new" bug. I thought it was me getting crazy...

I reported it to Rigol and I'll let you know when they respond and if they confirm the bug.

Fortunately it's not an important bug and it's possible to workaround it.
Despite that, it should be added to the buglist...
The difference between theory and practice is less in theory than
the difference between theory and practice in practice.
Expensive tools cannot compensate for lack of experience.
 

Offline Karel

  • Super Contributor
  • ***
  • Posts: 1376
  • Country: 00
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #128 on: May 15, 2017, 07:55:34 am »
All of the features of the Keysight could easily be added to the 1054z.

I believe you make the wrong assumption that the internal system (FPGA/CPU/memory) of the scope allows for that.

It's my impression that one of the reasons for the "shitty" firmware is that there's not enough space (memory/cpu-power) to implement all the features in the correct way.
They are strugling with it. Probably, the only way to improve the firmware is to throw out half of the features...

For example, the big blunder with the USB max packetsize (64 bytes instead of 512), they can't solve it because changing the
usb stack from using 64 byte buffers to 512 byte buffers requires more memory.

The difference between theory and practice is less in theory than
the difference between theory and practice in practice.
Expensive tools cannot compensate for lack of experience.
 

Offline BravoV

  • Super Contributor
  • ***
  • Posts: 6113
  • Country: 00
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #129 on: May 15, 2017, 09:50:52 am »
You could make a software check / dump part of the support / RMA process.  'Put this on USB drive, insert in product, record information on display' type deal.  If the check fails to work, then a dump of critical software could be done to determine if the problem was due to 'official' software or not. 

"What if" .. the modded firmware is so bad that put the scope into infinite loop once booted ?

Assuming they released "all" including the boot code, and the user screwed the initialization code so bad that made the scope just sit there doing nothing in the deadly infinite loop.

When its time to RMA, and as usual, "few" users  >:D will be pretending innocent, and as expected, the fight dispute between seller and user on RMA ... and so on, you just need a little imagination to think of the next scenes. 


(Posting a process to 'un-brick' the 'scope for those who do manage to do so shouldn't be too hard. 

"What if" .. the un-brick process only can be done if the initialization code also is not modded, and alas, because of the low cost constraints, design wise, protecting the init code is not possible.  :-//


It shouldn't be possible to physically damage a 'scope via firmware -- so far as I am aware.)

"What if" ... the modded firmware is so shitty, forgot to switch the front end relay to switch to less sensitive input level, while the screen is prompting its ok to plug and pump in high voltage signal ?   :palm:

... another "what if" ... the over temperature mechanism is triggered, and the part of the firmware that supposed for handling the shutdown sequences is ignored or buggy ...   >:D

Too many "what ifs" ... and back to my previous post, its never about these "what ifs" scenarios anyway, the "fact" is, these scopes are selling like hot cakes, so why bother ?  :-//



Rather than sink deep in this fuss and mess, why not focus and concentrate on designing and making another new generation low cost scope, sort of DS1054Z successor, as DS1054Z is considered quite old now, and the new beast is specifically targeted to hit very hard to those new competing products.  >:D
« Last Edit: May 15, 2017, 10:13:23 am by BravoV »
 

Offline boggis the cat

  • Regular Contributor
  • *
  • Posts: 150
  • Country: nz
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #130 on: May 15, 2017, 10:11:05 am »
"What if" .. the modded firmware is so bad that put the scope into infinite loop once booted ?

Assuming they released "all" including the boot code, and the user screwed the initialization code so bad that made the scope just sit there doing nothing in the deadly infinite loop.
The 'un-brick' option.
Quote
When its time to RMA, and as usual, "few" users  >:D will be pretending innocent, and as expected, the fight dispute between seller and user on RMA ... and so on, you just need a little imagination to think of the next scenes.
"Someone snuck into my house and flashed dodgy firmware onto my 'scope!"

Yeah...  Not seeing the big problem there.  🤔
Quote
"What if" .. the un-brick process only can be done if the initialization code also is not modded, and alas, because of the low cost constraints, design wise, protecting the init code is not possible.  :-//
Then those people 'hacking' this 'scope right now had better be careful.  I am assuming that Rigol would know a bit more about their products than the people tinkering with the firmware, so would be able to make that call.
Quote
"What if" ... the modded firmware is so shitty, forgot to switch the front end relay to switch to less sensitive input level, while the screen is prompting its ok to plug and pump in high voltage signal ?   :palm:
The DS1054Z doesn't have a 50 Ohm input.  I don't see how you could damage it through a firmware issue.
Quote
... another "what if" ... the over temperature mechanism is triggered, and the ISR for handling shutdown sequences is ignored or buggy ...   >:D
Un-bricking time again...
Quote
Too many "what ifs" ... and back to my previous post, its never about these "what ifs" scenarios anyway, the "fact" is, these scopes are selling like hot cakes, so why bother ?  :-//
To lure the adventurous / foolish into spending their cash on your now out-classed product while you prepare your next true competitor.  Money in your business, rather than your competitor's.
Quote
Rather than sink deep in this fuss and mess, why not focus and concentrate on designing and making another new generation low cost scope, sort of DS1054Z successor, as DS1054Z is considered quite old now, and the new beast is specifically targeted to hit very hard to those new competing products.  >:D
Opening up an obsoleted code base costs you nothing.  Every 'tech' site and blog will wibble excitedly about your awesome 'open' system, yada yada...

Are there possible down-sides?  Sure.  Are they significant?  I don't think so, but Rigol would decide that, not me.
 

Offline BravoV

  • Super Contributor
  • ***
  • Posts: 6113
  • Country: 00
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #131 on: May 15, 2017, 10:17:56 am »
The 'un-brick' option.

If you mean this option is to revert the firmware back to factory's original firmware, are you absolutely sure the "current design" capable of doing that ? Of course, no hardware modding say like soldering headers to do some on board hacking firmware override.

Do you even own or even ever used this DS1000Z scope ?  :-DD
« Last Edit: May 15, 2017, 10:23:40 am by BravoV »
 

Offline boggis the cat

  • Regular Contributor
  • *
  • Posts: 150
  • Country: nz
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #132 on: May 15, 2017, 10:20:35 am »
It's my impression that one of the reasons for the "shitty" firmware is that there's not enough space (memory/cpu-power) to implement all the features in the correct way.
They are strugling with it. Probably, the only way to improve the firmware is to throw out half of the features...
You can tell the problem is resources -- processor power is definitely lacking, tight memory possibly.

Turn on features and it slows down.  Turn on everything and it isn't really usable.  Rigol could have chosen to ration out what you can set 'on', but they obviously went for the maximum features and leave it up to the end user to decide what they're willing to trade off.

Perfectly sensible approach, but it does mean that you can't just compare feature lists then assert that this inexpensive 'scope can match another.  (Same issue as assuming that every 6000 count DMM with the same feature list is equivalent.  They really aren't.)
 

Offline boggis the cat

  • Regular Contributor
  • *
  • Posts: 150
  • Country: nz
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #133 on: May 15, 2017, 10:29:10 am »
The 'un-brick' option.

If you mean this option is to revert the firmware back to factory's original firmware, are you absolutely sure the "current design" capable of doing that ? Of course, no hardware modding say like soldering headers to do some on board hacking firmware override.
I have no idea.  I don't have one of these 'scopes, and have no interest in getting one.  (Maybe I will want a new 'scope later, and see no reason to not consider whatever Rigol are making then.  I don't much like the DS1054Z or variants thereof, but Rigol might put a much better 'scope on the market tomorrow, for all I know.)

Perhaps you are assuming that by "un-brick" I mean a simple process.  I mean 'whatever it takes' -- what they would do in the factory.  You could provide a series of steps from firmware updates right through to flashing the chips via the headers -- or even replacing them.  Tell some YouTube techies how it works and let them produce your 'documentation' for the processes.
 

Online frozenfrogz

  • Frequent Contributor
  • **
  • Posts: 895
  • Country: de
  • Having fun with Arduino and Raspberry Pi
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #134 on: May 15, 2017, 11:19:45 am »
Dudes!

It would be really nice to keep the chatting in the New Rigol D1054Z thread and stick to strictly bug-related issues here.
That way, I have a chance in catching up with adding stuff to the first post.

I tried to establish something like a pipeline for bug reporting with Rigol here in Germany. They are aware of this forum and know that the buglists and device discussions exist. However, there was no interest in chiming in / setting up an account here.
I also tried to get in touch via the "official" Rigol feedback/forum, but that is just a waste of time.

Can someone please break down the :FUNCtion:WREPlay:FEND // :FUNCtion:WRECord:FEND issue for me? I have not used the remote commands and am not sure if I understand correctly what is going on.
To my understanding, setting the frame size should be two different variables for record and play, but both functions seem to be using the same variable. -> or something like that.. Sorry, I did not have the time to dig into what is going on yet.

Regards,
Frederik
He’s like a trained ape. Without the training.
 

Offline Karel

  • Super Contributor
  • ***
  • Posts: 1376
  • Country: 00
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #135 on: May 15, 2017, 12:15:45 pm »
Can someone please break down the :FUNCtion:WREPlay:FEND // :FUNCtion:WRECord:FEND issue for me? I have not used the remote commands and am not sure if I understand correctly what is going on.
To my understanding, setting the frame size should be two different variables for record and play, but both functions seem to be using the same variable. -> or something like that.. Sorry, I did not have the time to dig into what is going on yet.

I connected the scope via LAN and opened a telnet connection.

Then I enabled the record function:

Code: [Select]
:FUNC:WREC:ENAB 1

:FUNC:WREC:FEND 20

:FUNC:WREC:OPER RUN

:FUNC:WREP:FST?
1

:FUNC:WREP:FEND?
20

:FUNC:WREP:FMAX?
20

:FUNC:WREP:FEND 10

:FUNC:WREP:FMAX?
10

:FUNC:WREP:FEND 20

:FUNC:WREP:FINT?
5.000000e-01

:FUNC:WREP:OPER PLAY   (plays 20 frames)

:FUNC:WREP:FEND 10

:FUNC:WREP:OPER PLAY (plays 10 frames)

:FUNC:WREP:FMAX?
10

:FUNC:WREP:FEND 20

:FUNC:WREP:FMAX?
20

:FUNC:WREP:OPER PLAY (plays 20 frames)

The problem here is with the command :FUNC:WREP:FMAX?
It returns the value of :FUNC:WREP:FEND, not the number of frames recorded in memory (set with :FUNC:WREC:FEND).

I refer to the DS1000Z_Programming_Guide_EN_December_2015, page 91 (2-75):

Syntax
 :FUNCtion:WREPlay:FMAX?
Description
 Query the maximum number of frames can be played, namely the maximum number of
frames recorded.
The difference between theory and practice is less in theory than
the difference between theory and practice in practice.
Expensive tools cannot compensate for lack of experience.
 
The following users thanked this post: frozenfrogz

Offline BravoV

  • Super Contributor
  • ***
  • Posts: 6113
  • Country: 00
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #136 on: May 15, 2017, 12:19:22 pm »
@Frederik,

As an OP, I suggest you to report to moderator to clean up / delete posts from posters that don't own this scope, and clearly not even interested in this scope, but still keep doing pointless bashing here.

Its obvious this DS1000Z does and still create lots of troubles on competing brands.

Offline HoracioDos

  • Frequent Contributor
  • **
  • Posts: 332
  • Country: ar
  • Just an IT monkey with a DSO
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #137 on: May 15, 2017, 12:56:48 pm »
Hello
I recently tried to connect DSRemote via USB (USBTMC) in linux and found this bug. It seems it's NOT a Linux bug. Can it be included in the list?
(Rigol Firmware Version 00.04.04.SP3)

Probably it's a bug in the firmware of the scope that triggers this error in combination with certain USB host controller chipsets.

The reason that this problem occurs on Linux is probably because the kernel developers are more strict with the USB standard.

To give you an example, connect your DS1000Z to a USB port and enter dmesg:

Code: [Select]
[  569.775078] usb 1-2: new high-speed USB device number 4 using ehci-pci
[  569.911485] usb 1-2: config 1 interface 0 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 64
[  569.911499] usb 1-2: config 1 interface 0 altsetting 0 bulk endpoint 0x3 has invalid maxpacket 64
[  569.911976] usb 1-2: New USB device found, idVendor=1ab1, idProduct=04ce
[  569.911987] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  569.911991] usb 1-2: Product: DS1000Z Series
[  569.911994] usb 1-2: Manufacturer: Rigol Technologies.
[  569.911998] usb 1-2: SerialNumber: DS1ZA17040xxxx
[  569.934523] usbcore: registered new interface driver usbtmc

The scope presents itself as a highspeed USB device but set the maxpacket value for the bulk endpoint to 64 bytes.

The USB standard says that a highspeed USB device MUST set that value to 512 bytes!

I reported this bug to Rigol but no answer so far.

My impression is that they don't care about Linux...

More details here:
https://github.com/Teuniz/DSRemote/issues/12#issuecomment-283940080
 

Online frozenfrogz

  • Frequent Contributor
  • **
  • Posts: 895
  • Country: de
  • Having fun with Arduino and Raspberry Pi
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #138 on: May 15, 2017, 01:31:42 pm »
Hello
I recently tried to connect DSRemote via USB (USBTMC) in linux and found this bug. It seems it's NOT a Linux bug. Can it be included in the list?

Hello Horacio,

it is already listed as Bug #8, however I could add more information on this. The Problem of USB interface not being standards compatible (64 bytes instead of 512 bytes packet size) has been discussed.
I will add a more descriptive comment to that.

Regards,
Frederik
He’s like a trained ape. Without the training.
 

Offline HoracioDos

  • Frequent Contributor
  • **
  • Posts: 332
  • Country: ar
  • Just an IT monkey with a DSO
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #139 on: May 15, 2017, 01:43:14 pm »
it is already listed as Bug #8, however I could add more information on this.
Hi frozenfrogz!
Ohh I'm sorry for the inconvenience. I checked the list before posting but obviously I've got it wrong. Thanks!!!
 

Online frozenfrogz

  • Frequent Contributor
  • **
  • Posts: 895
  • Country: de
  • Having fun with Arduino and Raspberry Pi
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #140 on: May 15, 2017, 01:49:38 pm »
No problem :)

The implications of this are not very self-explanatory.

Edit: Additional Info on USB behavior and new bug regarding telnet query has been appended to the OP.
« Last Edit: May 15, 2017, 02:15:35 pm by frozenfrogz »
He’s like a trained ape. Without the training.
 

Offline technogeeky

  • Frequent Contributor
  • **
  • Posts: 541
  • Country: us
  • Older New "New Player" Player Playa'
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #141 on: May 16, 2017, 03:26:25 am »
All of the features of the Keysight could easily be added to the 1054z.

I believe you make the wrong assumption that the internal system (FPGA/CPU/memory) of the scope allows for that.

It's my impression that one of the reasons for the "shitty" firmware is that there's not enough space (memory/cpu-power) to implement all the features in the correct way.
They are strugling with it. Probably, the only way to improve the firmware is to throw out half of the features...

For example, the big blunder with the USB max packetsize (64 bytes instead of 512), they can't solve it because changing the
usb stack from using 64 byte buffers to 512 byte buffers requires more memory.

I secretly hoped this counter-argument would come up. With the slow rate of patches and relatively small list of fixes in each patch, I think we really don't have any clue as to the level of ingenuity and competence of the Rigol software engineers -- at least those who work on these devices after initial release. It is possible that there is a great deal of room for optimization, or it's possible that users would choose to turn off/disable some features selectively in order to add new features or to enhance the speed of existing features. I think this could be warped to be an argument in support of releasing the firmware open source.

Part of the problem is that nobody apparently has the ear of anyone with any clout at Rigol around here. While other manufacturers have representatives on this forum, Rigol seems to keep their distance. It would be nice for someone to step in and say: I'm not an official channel, but I have the ear of xxx of Rigol engineering and I could try to be a proxy for making this case.

 

Offline sandor626

  • Contributor
  • Posts: 12
  • Country: it
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #142 on: May 20, 2017, 05:08:00 pm »
Hi,
I've updated the firmware. It's okay.
1) I downloaded the firmware from the rigol site.
2) I did the oscilloscope memory sanitization procedure.  I reboot.
3) I re-calibrated. I Reboot.
4) I installed the firmware. I Reboot.
5) I checked the extended version installed (menu, menu, force, menu) and everything was ok !
6) At that moment, two new options appeared on the calibration screen. I did not re-calibrate, I Rebbot
7) After re-boot, the two new options had disappeared . I re-calibrated , successfull after 20min.

This firmware  version is very very good . The trigger is better on small signals. The measures is better ,
stable Is better, stable, and equal between the channels .

Thanks Rigol !!


 
 
The following users thanked this post: frozenfrogz

Offline Nat

  • Newbie
  • Posts: 2
  • Country: kr
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #143 on: June 14, 2017, 08:01:13 am »
So, to experienced folks out there, should I update my DS1054z (Board Version: 0.1.4, Boot Version: 0.0.1.4, Firmware Version: 0.2.3.11, CPLD Version: 1.1) to the latest firmware, given that the only thing that bother me right now is the display mode Normal that merges with Peaks.

And, yes, I've read the whole thread, still can't make up my mind.

Thanks.

(This is my first post!, fantastic forum.).
 

Online frozenfrogz

  • Frequent Contributor
  • **
  • Posts: 895
  • Country: de
  • Having fun with Arduino and Raspberry Pi
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #144 on: June 14, 2017, 09:42:31 am »
So, to experienced folks out there, should I update (...) ?

Of course I can not give you a definite answer, but as I see it, no devices were bricked by the current firmware. There is the one issue with failing calibration, however all units experiencing the described behavior could be recovered without any further trouble.
Update procedures are described above, but you already know that :)

If it was my scope I would drop in the update.

Regards,
Frederik
He’s like a trained ape. Without the training.
 

Offline Nat

  • Newbie
  • Posts: 2
  • Country: kr
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #145 on: June 14, 2017, 10:27:49 am »
Make sens, this .gel loaded USB stick is burning my fingers anyway :)

Thanks.
 
The following users thanked this post: frozenfrogz

Offline grants225

  • Newbie
  • Posts: 4
  • Country: lt
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #146 on: July 07, 2017, 07:46:06 am »
regarding ""pluses" - did I missed something, but yesterday I updated and see this   :-// :
 

Online ebastler

  • Super Contributor
  • ***
  • Posts: 2995
  • Country: de
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #147 on: July 07, 2017, 07:53:14 am »
regarding ""pluses" - did I missed something, but yesterday I updated and see this   :-// :

I think the "pulses" in the left-hand menu have always been correct. Please enable pulse measurement and check the label on the actual read-out, at the bottom of the screen.
 
The following users thanked this post: JPortici, Jacon

Offline psysc0rpi0n

  • Regular Contributor
  • *
  • Posts: 208
  • Country: pt
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #148 on: July 07, 2017, 05:03:03 pm »
I'm not sure if this post is the best place to ask my question. I'm sorry if it's not!

I have all the non-free options unlocked using a less legit way as described all over the forum here. If I update, will I lose those already unlocked options?

Side note to @Fungus:
Thanks for correcting me! I am myself pretty demanding regarding language and gramar matters. But I can only be demanding in my own mother language which is Portuguese. I like to see when people actually cares about keeping their own language sane and don't let themselves deviate from the good spelling, writing and speaking!
« Last Edit: July 07, 2017, 08:01:04 pm by psysc0rpi0n »
 

Online Fungus

  • Super Contributor
  • ***
  • Posts: 9993
  • Country: 00
Re: Rigol DS1000Z series buglist continued (from: 00.04.04.03.02)
« Reply #149 on: July 07, 2017, 07:37:02 pm »
I'm not sure if this post is the best place to ask my question. I'm sorry if it's not!

I have all the non-free options unlocked using a less legit way as described all over the forum here. If I update, will I loose those already unlocked options?

No.

http://theoatmeal.com/comics/misspelling

 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf