tl;dr: set CONTROL_INTEL_SATA_POWER
to 0
in /etc/laptop-mode/conf.d/intel-sata-powermgmt.conf
There are three ways I know to solve this, two of which were suggested by Preston, one of which I thought of after reading his post. I tried the most rigorous approach suggested by Preston and it works! (Note that updates would undo these changes)
Method 0: prevent the problem :)
In retrospect many people complain about this problem in Amazon reviews. It seems it depends on the OS and what scenario the user is in whether or not it will crash. However, all users complain about either bad performance (at least worse than advertised, many cases notable sluggishness) or crashes (within a minute until after an hour). The only way to prevent this problem is not to buy the SSD or return it if your reseller accepts this. You probably have the right to return this product as it doesnt function as advertised, however it would probably take a lot of time and effort to exercise this right.
Transcend ironically uses the C720 as an example to show users how to install their SSD. Guess they never tested it. As chromebooks are probably the main reason they sell these SSD's in the first place you might think they care about it actually working. Their technical support is quick to reply, but when it was obvious the problem was not going to be solved by standard troubleshooting they stopped replying to me. They did reply to Preston saying that "I am unable to provide you with a definitive answer." about whether or not they would be going to solve this.
I hope this post will help solve the problem for people who cant return their SSD anymore, but also let people know this problem exists so they can prevent it by not trying to combine this SSD with a laptop that uses sata power management (at least all chromebooks and some windows laptops).
Method 1: disable sata power management in laptop-mode configuration, tested and works
Step 1: enable dev mode
This will wipe all user data from your chromebook! Besides that it will turn off some security features such as verified boot and will boot you with a scary warning screen (which is actually scary because an unfamiliar user might accidentaly wipe your data). Since you installed an SSD you might have performed this step already.
To enable dev mode, first boot into recovery mode by holding down esc and refresh and poke the power button. When the recovery screen shows press Ctrl-D. From now on everytime you boot you will have to press Ctrl-D to get into chrome. Dont press any other keys as it will wipe your data.
Step 2: enable read/write permission
Open a crosh commandline by pressing Ctrl-Alt-T. In crosh type shell
to get into an actual shell. Then run this command to get read/write permission.
sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification
This command then gave me the actual command to run, just in case I didnt know what I was doing. Which I really didn't but I need to have a workng SSD so I ran it. Its this command, I dont know if it is different per system:
sudo /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification --partitions 4
After this reboot and you will have read/write permission.
Step 3: remove write protection from configuration file
Open up a shell again and use chmod to make the laptop-mode configuration file writable. This will disable chrome auto update. I dont know how manual updates will fare but I guess its a good idea because now you have to perform the updates yourself and then you can immediately perform this fix again.
sudo chmod 6 /etc/laptop-mode/conf.d/intel-sata-powermgmt.conf
Step 4: set CONTROL_INTEL_SATA_POWER
to 0
The commandline texteditor vi is supplied with chrome os. Its very annoying to use, read instructions at the link for how it works. Basically you use the arrows to go to the character you want to edit and then type in a command to change the character.
vi /etc/laptop-mode/conf.d/intel-sata-powermgmt.conf
Use arrows to go to the 1
in CONTROL_INTEL_SATA_POWER=1
and use the command r
to enable replace and then type 0
to replace it with 0
. Then use the command :wq
to save the file and quit vi.
If you want to write protect the file again use
sudo chmod 5 /etc/laptop-mode/conf.d/intel-sata-powermgmt.conf
Step 5: enjoy chromebook that doesnt crash, doesnt have input-lag and has normal performance
However I did notice that my chromebook case got hotter around the location of the SSD. I havent found a temperature sensor or power consumption utility for chrome OS yet, so I cant quantify this. However predicted battery time seems to have decreased with something between half an hour or an hour (say 10%).
Method 2: use medium_power instead of min_power setting when on battery, untested
Using the same steps as in Method 1, replace min_power
with medium_power
as suggested here. This has to be done in the file /usr/share/laptop-mode-tools/modules/intel-sata-powermgmt
. I have not tested this, but it might circumvent the increased temperature and battery usage I noted with Method 1.
Method 3: execute a command everytime you unplug your charger, not tested by me
Use the only Step 1 from Method 1 to enable dev mode. Then when unplugging your chromebook open up crosh, get into shell and then use this command:
echo max_performance | sudo tee /sys/class/scsi_host/*/link_power_management_policy
Preston seems to use this workaround. I have not tested it.
Closing remarks
There are two things that might put you off from using these solutions, but they have their own workaround:
-During loading screen at start anyone can wipe your user data
-Updates will undo the changes to sata powermanagement
There is a workaround that will make the loading screen last shorter and disable keyboard input so that people wont accidentally wipe your user data. There is also a way to disable updates. These workarounds can be found online and are probably not in the scope of this question.
This is a good/informative post. But one suggestion for your future answer—if the tweaks you mention work—is that the question part of this post should really be the first two paragraphs. The rest should be edited and adapted into your future answer if/when you post that. But good work. – JakeGould – 2015-03-10T19:09:38.947
Will add those to the answer if I get it to work. Thanks for the feedback. – Leo – 2015-03-10T19:10:34.547