Wake on Lan w/ Linux et al.

December 16th, 2014

For some time I was wondering why WoL (Wake-on-Lan) was not working on a AM2+ Sapphire IPC-AM3DD785G Mini-ITX board with on-board Atheros Attansic (atl1c) that was lingering here for the usual IT testing purposes.

After quite too much time of trial’n error today I finally found out why. Turns out while the BIOS has an APM: “PME Enable” option - that is not enough! In the same power menu it additionally has a rather cryptic: “Control EuP” option that was enabled.

So how should I know what that is? Obviously not a first thought that this somehow relates to wake form standby handling. And it would certainly help if the manual for the board would somewhere prominently and easy to find linked on their product website. Alas, finally with a manual somewhere deeply hidden on their site it just says to all power settings this:

“Power
The Power Management Setup allows you to configure your system to most effectively save energy saving while operating in a manner consistent with your own style of computer use.”

Wonderful details. Anyways - enabled sounds nice, right? Well turns out that option actually disables power to various wake related components for enhanced standby power savings. Look what I found searching for the setting on the Internet in another product’s manual:

“Control EuP - Enables or disables the Energy Using Products (EuP) Ready function. When set to [Enabled], power for WOL, WO_USB, audio and onboard LEDs will be switched off at S5 state”

Ok, great. And with this disabled wake-on-lan finally works on this box, and it can go to the others into the test system rack. Yay!

Android update lottery

November 16th, 2014

The Android update lottery is such an annoying thing. I already got a Nexus 5 specifically to get updates at all. But even when there eventually is an over-the-air (OTA) update, one ends up hitting the “check for updates” button for week without actually hitting the update lottery seed win.

So after a week or so of this silly and annoying game I finally side loaded the update over USB, sigh:

./adb devices
./adb reboot bootloader
./fastboot oem unlock
./fastboot flash bootloader …bootloader-hammerhead-hhz12d.img
./fastboot reboot-bootloader
./fastboot flash radio …radio-hammerhead-m8974a-2.0.50.2.21.img
./fastboot reboot-bootloader
./fastboot -w update …hammerhead-lrx21o/image-hammerhead-lrx21o.zip
./fastboot oem lock

What a cluster mess, only silicon valley companies are elite enough to innovate like this, … sigh :-/!

PS: If you get “./adb devices, … # offline” then you probably run a too old adb version, like 1.0.29 instead of the newer 1.0.31 that handles authentication or such, …

PPS: One does not need to install the whole, huge, Gigabytes of Android SDK, there are various sites that offer (ZIP) downloads with just the two CLI Kilobyte tools.

Installing Mac OS X 10.10 alias “Yosemite” to USB

October 28th, 2014

I was just surprised that the “Install OS X Yosemite.app” actually comes with a “createinstallmedia” helper, how nice of them:

$ sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia –volume /Volumes/Install –applicationpath /Applications/Install\ OS\ X\ Yosemite.app –nointeraction
Erasing Disk: 0%… 10%… 20%… 30%…100%…
Copying installer files to disk…
Copy complete.
Making disk bootable…
Copying boot files…
Copy complete.
Done.

Surface Pro 3, the big disappointment

September 23rd, 2014

For some days I had a Surface Pro 3 for some testing. In general the new, bigger 3:2 12″ display is much nicer to work (code) on. I personally find the “silver”ish magnesium looking a bit cheap. The black option of the Surface Pro 1 & 2 looked a bit more Pro. However, the unpainted version should be less sensitive to scratches.

The new flexible kickstand is of course a big plus, though it is still not very comfortable to use it on the lap, e.g. an armchair, or on an airplane tray.

A real showstopper, however, came this morning. Powering the Surface Pro 3 up resulted in an unexpected and automatic firmware update (I guess left over from the last shutdown) which never finished and thus bricked the device. And being in Germany I would not even get an in-store replacement for a self-destructed, 5 day old Surface, and now sit without anything waiting weeks for (a hopefully repaired) device in return. Sigh.

Definitely not a good start for a new companion. I guess a sign that I should have quickly installed Linux, and not let Windows 8 take over the self-destruct sequence, … :-/ !!1!

PS: One more thing: Dear companies - if you want no bad press here, then please sell products that a) work and b) do not self destruct due nightly updates. You’re welcome.

VMware fusion and the third mouse button

September 17th, 2014

For all too long I was wondering why the middle (center, third) mouse button would not work in a Linux VM on VMware Fusion on a Mac. You know, for copy and paste, … in terminals, … all that text ;-)

I actually googled another rainy day, month or winter, but only found more questions than answers (like mouse.vusb.useBasicMouse = “FALSE” and whatsoever).

Today –clicking around in the Mac’s System Preferences– I came arose the setting for the center button that I would normally not use for Mac apps. Turns out setting this to “Button 3″ is just what is needed for VMware to actually get it and pass it down to the Linux VM.

Sometimes solutions can be so simple, sigh!

Update: Hm, only still a problems with the mighty MagicMouse - as it does not allow to configure a “Button 3″ in Apple’s SystemPreferences … Third party hacks apparently floating in the interweb for this :-/

Simply creating sparse files

September 9th, 2014

for virtualization and such, on Linux, BSD, Mac OSX (Darwin), Unix:

dd if=/dev/zero of=some-qemu-vm.img bs=1 count=0 seek=64G

When websites throw Java exceptions on you

August 4th, 2014

Yesterday I booked a hotel for family coming to visit us in Berlin I got this nice java exception backtrace at the end of the hotel reservation:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:467)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
de.hrs.web3.web.filter.PasswordChangeFilter.doFilter(PasswordChangeFilter.java:174)
de.hrs.web3.web.trackingswitch.PostViewFilter.doFilter(PostViewFilter.java:69)
de.hrs.web3.web.trackingswitch.sme.PostClickFilterSME.doFilter(PostClickFilterSME.java:67)
de.hrs.web3.web.trackingswitch.PostClickFilter.doFilter(PostClickFilter.java:66)
de.hrs.web3.web.filter.SessionFilter.doFilter(SessionFilter.java:512)
de.hrs.web3.web.filter.CiClientFilter.doFilter(CiClientFilter.java:133)
de.hrs.web3.web.filter.EncodingFilter.doFilter(EncodingFilter.java:80)
de.hrs.web3.web.util.etm.EtmRequestIDFilter.doFilter(EtmRequestIDFilter.java:63)
de.hrs.web3.web.filter.RedirectFilter.performAction(RedirectFilter.java:258)
de.hrs.web3.web.filter.RedirectFilter.doFilter(RedirectFilter.java:236)
de.hrs.web.filter.ExpiresFilter.doFilter(ExpiresFilter.java:225)
de.hrs.web3.web.filter.StaticContentFilter.doFilter(StaticContentFilter.java:105)
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
de.hrs.web3.web.filter.CiClientSAMLFilter.doFilter(CiClientSAMLFilter.java:86)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.saml.metadata.MetadataGeneratorFilter.doFilter(MetadataGeneratorFilter.java:86)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.saml.SAMLEntryPoint.doFilter(SAMLEntryPoint.java:102)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.saml.SAMLLogoutFilter.processLogout(SAMLLogoutFilter.java:157)
org.springframework.security.saml.SAMLLogoutFilter.doFilter(SAMLLogoutFilter.java:103)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.saml.SAMLLogoutProcessingFilter.processLogout(SAMLLogoutProcessingFilter.java:169)
org.springframework.security.saml.SAMLLogoutProcessingFilter.doFilter(SAMLLogoutProcessingFilter.java:93)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
root cause

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
java.util.ArrayList.RangeCheck(ArrayList.java:547)
java.util.ArrayList.get(ArrayList.java:322)
org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:513)
org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:410)
org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:768)
org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:846)
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:903)
org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:465)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
de.hrs.web3.web.filter.PasswordChangeFilter.doFilter(PasswordChangeFilter.java:174)
de.hrs.web3.web.trackingswitch.PostViewFilter.doFilter(PostViewFilter.java:69)
de.hrs.web3.web.trackingswitch.sme.PostClickFilterSME.doFilter(PostClickFilterSME.java:67)
de.hrs.web3.web.trackingswitch.PostClickFilter.doFilter(PostClickFilter.java:66)
de.hrs.web3.web.filter.SessionFilter.doFilter(SessionFilter.java:512)
de.hrs.web3.web.filter.CiClientFilter.doFilter(CiClientFilter.java:133)
de.hrs.web3.web.filter.EncodingFilter.doFilter(EncodingFilter.java:80)
de.hrs.web3.web.util.etm.EtmRequestIDFilter.doFilter(EtmRequestIDFilter.java:63)
de.hrs.web3.web.filter.RedirectFilter.performAction(RedirectFilter.java:258)
de.hrs.web3.web.filter.RedirectFilter.doFilter(RedirectFilter.java:236)
de.hrs.web.filter.ExpiresFilter.doFilter(ExpiresFilter.java:225)
de.hrs.web3.web.filter.StaticContentFilter.doFilter(StaticContentFilter.java:105)
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
de.hrs.web3.web.filter.CiClientSAMLFilter.doFilter(CiClientSAMLFilter.java:86)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.saml.metadata.MetadataGeneratorFilter.doFilter(MetadataGeneratorFilter.java:86)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.saml.SAMLEntryPoint.doFilter(SAMLEntryPoint.java:102)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.saml.SAMLLogoutFilter.processLogout(SAMLLogoutFilter.java:157)
org.springframework.security.saml.SAMLLogoutFilter.doFilter(SAMLLogoutFilter.java:103)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.saml.SAMLLogoutProcessingFilter.processLogout(SAMLLogoutProcessingFilter.java:169)
org.springframework.security.saml.SAMLLogoutProcessingFilter.doFilter(SAMLLogoutProcessingFilter.java:93)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.25 logs.

Apache Tomcat/7.0.25 on p-web-www-424.hrs.de/10.250.151.24

First of all nice to reveal their software stack to potential attackers, right? Second, you noticed:

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
java.util.ArrayList.RangeCheck(ArrayList.java:547)
java.util.ArrayList.get(ArrayList.java:322)

“OutOfBoundsException” thank you very much - happy customers to see this matrix gibberish instead of their booking. It are moments like this where I believe a dynamically typed language with “nil” for a non-existing array, and potentially either printing “nil” or just an “” (an empty string) somewhere on some box, or ad, or whatever, nobody probably looks at anyway is a much more elegant way to handle this, …

The internet resource bloat

July 26th, 2014

Why, oh my, is it necessary to run a 10 MB, 1:11m, 720p (no less) video on the main PayPal website front page background. You know, the page where people go to login, check their balance, and such, …

You wonder the internet is slow? Getting slower and slower? Your monthly “flatrate” (*lol*) volume used up faster and faster?

Wonder no more:

The NSA and the global surveillance state

July 24th, 2014

So for about a decade the NSA and it’s five or so dwarf friends focussed on reading all our email, half naked holiday beach posts on Facebook, business contracts and CAD drawings send by email, every appointment for dinner with your girlfriend or wive (or both) and such, …

… and they can not even predict the annexation of Crimea or a war in Ukraine coming, nor find the missing MH370 plane, or show actual evidence who shot the MH17 plane, nor a sign of AH5017.

Now that are priorities, right? All our email, and most personal (and thus usually unimportant to others) communiques - however, the actual real threads, like, you know, war, soldiers, weapons, rockets, and lost planes?

Brave new world - probably no espionage to gain from that, … :-/ !!!

So the skills of the NSA in this day and age boil down to: ☑ reading emails, ☑ watching nude citizens, … But unfortunately not the classic spy skill set like, ☐ robbing thru the dessert, ☐ monitoring actual criminals, ☐ and such … I suggest they watch one or another James Bond movie as free training material, …

NEC EA244UHD 4k

July 17th, 2014

So now NEC finally comes out with a 4k IPS display. Unfortunately they lost me as a customer already early this year, …

Wondering if they also use MST, and how the compatibility is with Mac OS X ;-)