systemd-networkd exanic cards

This post is to detail how I managed to reliably set the additional settings for  Exablaze‘s ExaNIC X40 card, the technique is applicable to other cards. I was performing this on a Dell R730 running CentOS 7.4

The Exablaze cards have additional capabilities like bypass-only mode, which needs to be set every time the system is rebooted.  In the past, I’ve covered this by using udev, but it hasn’t proven to be reliable.

Firstly, systemd-networkd isn’t the default network management system installed by RedHat/CentOS, that is NetworkManager. So you need to remove NetworkManager first and then use systemd-networkd, this has been covered by others.

Typically, on a Dell system you will see the output of exanic-config for an X40 like below:-

Device exanic0:
 Hardware type: ExaNIC X40
 Board ID: 0x00
 Temperature: 49.7 C VCCint: 0.94 V VCCaux: 1.84 V
 Function: network interface
 Firmware date: 20160822 (Mon Aug 22 21:34:58 2016)
 Port 0:
 Interface: enp1s0
 Port speed: 10000 Mbps
 Port status: enabled, no SFP, link active
 MAC filters: 64 IP filters: 128
 Loopback mode: off
 Promiscuous mode: off
 Bypass-only mode: off
 MAC address: 64:3f:5f:01:3b:58
 RX packets: 3984824705 ignored: 23380569 error: 0 dropped: 0
 TX packets: 1626531
 Port 1:
 Interface: enp1s0d1
 Port speed: 10000 Mbps
 Port status: enabled, no SFP, link active
 MAC filters: 64 IP filters: 128
 Loopback mode: off
 Promiscuous mode: off
 Bypass-only mode: off
 MAC address: 64:3f:5f:01:3b:59
 RX packets: 4117903238 ignored: 36763763 error: 1 dropped: 0
 TX packets: 1626493
 Port 2:
 Interface: enp1s0d2
 Port speed: 10000 Mbps
 Port status: enabled, no SFP, no link
 MAC filters: 64 IP filters: 128
 Loopback mode: off
 Promiscuous mode: off
 Bypass-only mode: off
 MAC address: 64:3f:5f:01:3b:5a
 RX packets: 0 ignored: 0 error: 0 dropped: 0
 TX packets: 0
 Port 3:
 Interface: enp1s0d3
 Port speed: 10000 Mbps
 Port status: enabled, no SFP, no link
 MAC filters: 64 IP filters: 128
 Loopback mode: off
 Promiscuous mode: off
 Bypass-only mode: off
 MAC address: 64:3f:5f:01:3b:5b
 RX packets: 0 ignored: 0 error: 0 dropped: 0
 TX packets: 0
 Port 4:
 Interface: enp1s0d4
 Port speed: 10000 Mbps
 Port status: enabled, no SFP, no link
 MAC filters: 64 IP filters: 128
 Loopback mode: off
 Promiscuous mode: off
 Bypass-only mode: off
 MAC address: 64:3f:5f:01:3b:5c
 RX packets: 0 ignored: 0 error: 0 dropped: 0
 TX packets: 0
 Port 5:
 Interface: enp1s0d5
 Port speed: 10000 Mbps
 Port status: enabled, no SFP, no link
 MAC filters: 64 IP filters: 128
 Loopback mode: off
 Promiscuous mode: off
 Bypass-only mode: off
 MAC address: 64:3f:5f:01:3b:5d
 RX packets: 0 ignored: 0 error: 0 dropped: 0
 TX packets: 0
 Port 6:
 Interface: enp1s0d6
 Port speed: 10000 Mbps
 Port status: enabled, no SFP, no link
 MAC filters: 64 IP filters: 128
 Loopback mode: off
 Promiscuous mode: off
 Bypass-only mode: off
 MAC address: 64:3f:5f:01:3b:5e
 RX packets: 0 ignored: 0 error: 0 dropped: 0
 TX packets: 0
 Port 7:
 Interface: enp1s0d7
 Port speed: 10000 Mbps
 Port status: enabled, no SFP, no link
 MAC filters: 64 IP filters: 128
 Loopback mode: off
 Promiscuous mode: off
 Bypass-only mode: off
 MAC address: 64:3f:5f:01:3b:5f
 RX packets: 0 ignored: 0 error: 0 dropped: 0
 TX packets: 0

These days I prefer the names of my interfaces to reflect their purpose or what they are connected to. So first steps is to rename them and configure them for normal networking attributes.

cd /etc/systemd/network

create a 50-timing.lnk file like

[Match]
MACAddress=64:3f:5f:01:3b:5f

[Link]
Name=timing
MACAddressPolicy=persistent

The above file tells the system to match on the physical MAC address of the network port, and then rename it to be called timing.

Create a timing.network file

[Match]
Name=timing

[Network]
Address=192.168.3.162/24

This file matches on the interface’s name and then sets it’s IP address and netmask.

OK for this port we also wish it to have bypass-only mode on when the port comes up.

Create /etc/systemd/system/bypass@.service

[Unit]
Description=bypass-only configuration for %i
After=network.target
Requires=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
ExecStart=/usr/bin/exanic-config %i bypass-only on
Type=oneshot

[Install]
WantedBy=multi-user.target

The above file describes that the service is not to run until after the network.target is complete and then use exanic-config to set bypass-only on.

Now perform the following:-

systemctl daemon-reload
systemctl enable bypass@timing.service

Now after a reboot we should be able to do exanic-config timing and see :-

Device exanic0:
 Hardware type: ExaNIC X40
 Board ID: 0x00
 Temperature: 65.1 C VCCint: 0.93 V VCCaux: 1.80 V
 Function: network interface
 Firmware date: 20170529 (Mon May 29 23:57:51 2017)
 Port 6:
 Interface: timing
 Port speed: 10000 Mbps
 Port status: enabled, SFP present, no link
 MAC filters: 64 IP filters: 128
 Loopback mode: on
 Promiscuous mode: on
 Bypass-only mode: on
 MAC address: 64:3f:5f:01:3b:5f
 IP address: 192.168.3.162 Mask: 255.255.255.0
 RX packets: 0 ignored: 0 error: 0 dropped: 0
 TX packets: 0

I created a similar service for the promisc option too.

One caveat, for the network interfaces to be renamed in this manner I had to add “net.ifnames=0” to my kernel command line

Posted in CentOS, Dell, Linux, RHEL, System Administration | Comments Off on systemd-networkd exanic cards

Mesh Commander on Linux

I needed to use MeshCommander to connect to an “Intel AMT enabled” PC.  It’s a good feature allowing you access to the console remotely. The downside is there is no  official release for any other platform than Windows.

There is an unofficial release for Mac OS X.

To get MeshCommander to work for Linux I performed the following:-

wget http://info.meshcentral.com/downloads/mdtk/meshcommandersource.zip
cd meshcommander
unzip ../meshcommandersource.zip
cd NodeJS
npm install</span></p>
node commander.js

Now you can navigate to http://localhost:3000/ to use MeshCommander

 

 

Posted in Linux, System Administration | Comments Off on Mesh Commander on Linux

Kickstart overcoming UEFi or converting from MBR

Recently I had the opportunity to install CentOS 7 onto a new Intel Skylake based machine. The system using legacy bios mode installed via kickstart without any issues, repeatedly.

I should say that the system had two 500Gb msata drives and an M.2 1Tb drive. The two msata would hold CentOS and would use Raid 1. Unfortunately, the system needed to be in UEFi mode, and this change meant a new kickstart file. Under legacy BIOS mode the disk partitioning looked like :-

# Disk partitioning
part raid.01 --fstype="raid" --ondisk=sda --size=500
part raid.02 --fstype="raid" --grow --ondisk=sda --size=1
part raid.03 --fstype="raid" --ondisk=sdb --size=500
part raid.04 --fstype="raid" --grow --ondisk=sdb --size=1

raid /boot --device=md0 --fstype="xfs" --level=1 raid.01 raid.03
raid pv.01 --device=md1 --level=1 raid.02 raid.04

Therefore, it should be a simple matter of adding an EFi partition like so:-

part /boot/efi --fstype="efi" --size=200 --ondisk=sda
part raid.01 --fstype="raid" --ondisk=sda --size=500
part raid.02 --fstype="raid" --grow --ondisk=sda --size=1
part raid.03 --fstype="raid" --ondisk=sdb --size=500
part raid.04 --fstype="raid" --grow --ondisk=sdb --size=1


raid /boot --device=md0 --fstype="xfs" --level=1 raid.01 raid.03
raid pv.01 --device=md1 --level=1 raid.02 raid.04

It failed with anaconda reporting that it was unable to find a suitable stage1 device. Over several iterations I ended up manually creating the required EFi partition and it still failed with the following error in the anaconda.log:-

06:08:54,828 DEBUG anaconda: new disk order: []
06:08:54,832 DEBUG anaconda: new disk order: []
06:08:54,851 DEBUG anaconda: stage1 device cannot be of type disk
06:08:54,865 DEBUG anaconda: _is_valid_disklabel(sda1) returning True
06:08:54,867 DEBUG anaconda: _is_valid_size(sda1) returning True
06:08:54,867 DEBUG anaconda: _is_valid_location(sda1) returning True
06:08:54,867 DEBUG anaconda: _is_valid_format(sda1) returning False
06:08:54,867 DEBUG anaconda: is_valid_stage1_device(sda1) returning False
06:08:54,867 ERR anaconda: BootLoader setup failed: failed to find a suitable stage1 device

I even included a section in the

%pre

section of the kickstart that wiped all the partition information, as shown below:-

%pre --log /tmp/pre-install.log
echo "Starting Kickstart Pre-Installation..."

vgchange -a n
test -b /dev/md0 && wipefs -a /dev/md0 && mdadm --stop /dev/md0
test -b /dev/md1 && wipefs -a /dev/md1 && mdadm --stop /dev/md1
wipefs -a /dev/sda[1,2,3]
wipefs -a /dev/sdb[1,2,3]
wipefs -a /dev/sd[a,b]
%end

I wish to mention that the system would install perfectly under an interactive install but unfortunately the ability to create Raid 1 devices in this mode has been removed from anaconda .

In researching the answer to this issue I came across the following information. For UEFi the disks need to use gpt partitions, but under legacy BIOS mode, gpt partitions would not be used unless the disks were greater than 2Tb. To force legacy BIOS to use gpt partitions on smaller disks the installer needs to be booted with the inst.gpt kernel option. Now for legacy BIOS mode to boot gpt partitions it needs a partition called biosboot

Time for a change in tack. I changed the system back to legacy BIOS and changed the kickstart file as follows:-

# Disk partitioning
part biosboot --fstype=biosboot --size=1 --ondisk=sda
part /boot/efi --ondisk=sda --fstype="efi" --size=200

part raid.02 --fstype="raid" --ondisk=sda --size=500
part raid.03 --fstype="raid" --grow --ondisk=sda --size=1
part raid.05 --fstype="raid" --ondisk=sdb --size=500
part raid.06 --fstype="raid" --grow --ondisk=sdb --size=1

raid /boot --device=md1 --fstype="xfs" --level=1 raid.02 raid.05
raid pv.01 --device=md2 --level=1 raid.03 raid.06

The system installed but under legacy BIOS the efi variables required to install the bootlader into the /boot/efi partition does not exist.

The solution to this is to create a PXE option to boot into rescue mode, change the system to UEFi mode and then delete the biosboot partition, install the bootloader and ensure the system is ready to boot:-

# Remove the biosboot partition

parted /dev/sda
(parted) rm
Partition number? 1                                                       
(parted)

# When the biosboot partition was created it also added a disk flag called pmbr_boot

(parted) disk_set pmbr_boot off
(parted) quit

Make sure that UEFi can use the CentOS boot loader

efibootmgr --create --gpt --disk /dev/sda --part 3 --write-signature --label "CentOS" --loader "\\EFI\\centos\\grubx86.efi"

Install grub

grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="CentOS7" -recheck --verbose /dev/sda 

Now check grub2.cfg
As we installed under legacy BIOS the boot command in grub2.cfg is linux16 or linux64. This needs to change to linuxefi same needs to occur for initrdefi

Now just reboot and away you go.

Posted in CentOS, Linux, RHEL, System Administration | Comments Off on Kickstart overcoming UEFi or converting from MBR

Polar V650 cycle computer

Initial thoughts

I recently received a Polar V650  as a gift.  It looks great, the touch screen works well even when riding.  The GPS seems to work well, and integrates nicely with Strava.  Installation was a breeze, although I think the rubber bands that hold the bracket on the bike will stretch.

My Software Experience

To get the units data in to Strava you have to perform the following:-

  1. Connect the Polar V650 via it’s micro-usb port to a computer.
  2. The FlowSync software from Polar is supposed to recognise the  Polar V650 and start syncing the device to the Polar Flow web site.
  3. Polar then syncs the data to Strava.
  4. Strava then allows you to edit the ride before saving it into your dashboard.

Problems

  1. My Polar V650 unit turned up with old firmware. That shouldn’t be a problem, the FlowSync software is supposed to recognise out of date firmware and offer to upgrade the unit.  I run Linux and Mac OS X El Capitan at home, unfortunately the former is not supported by Polar and the latter had a fairly major bug, where it didn’t recognise the Polar V650 at all on that OS. The local support said a new later version of FlowSync would fix the problem, to my knowledge that never occurred. In the end I borrowed a Windows laptop and upgraded my Polar V650.  In the new firmware you tell it that you are connecting to Mac OS X El Capitan ( I wonder why?).
  2. Using Mac OS X El Capitan on the MacBook Air I have to force run FlowSync for the synchronising to work, note I use the actual onboard USB ports for this.
  3. Using Mac OS X El Capitan on the iMac I plug the Polar V650 into a USB hub. The hub has two external hard drives connected, they are immediately ejected, but do come back! I again have to force run FlowSync but it never sees the Polar V650 unit.

Feature Requests

  1. The Routes feature only shows you your favourite routes, i.e. ones you have already ridden, it would be nice to be able to upload GPX files with a route that you are about to do.  There are work arounds mentioned in the Polar forums.
  2. It we be nice if it handles running. Instead f having the ability to have 4 bike profiles, one of them could be running. I wouldn’t need to take my phone on a run then.
  3. In Australia it is the law that all cyclists have to ride with a bell. It would be good if this was available from the pull down menu or a new pull up menu.

On the whole I like the unit, the software around the Polar V650 let it down. Some of the bugs related to USB shouldn’t exist, it’s been around a while now.  I’m hoping  Polar fix the bugs and include some of the features requests, using it would be a much better experience.

 

 

Posted in Bike | Tagged , , | Comments Off on Polar V650 cycle computer

Data capture with ExaNIC’s

Capturing the data

My scenario is that I wish capture some multicast data and analyse it later.  I’d like this process to be automated, start at a specific time, stop at a specific time, and then process the captured data file.

I’ll be using CentOS 7 which is based on systemd.

Fortunately, the ExaNIC cards come with a great utility called exanic-capture,  this tool is one of the features of the ExaNIC card outlined in this post on the Exablaze site.  The  exanic-capture utility can produce a pcap file that has nanosecond timestamp resolution (6.2 nanoseconds).

We will also sync the ExaNIC‘s  internal timer to the host’s clock.  The host in this case is running NTP to discipline the system clock.

systemd has the capability to create services and associated timers, in this case I wanted to capture mulitcast data between the hours of 0830 and 1700.  I first created a mulitcast listener service that registers the host to listen for the data, and then a bit later I start a service to capture the raw data.  Note I did not filter the data as I also wanted the data to be passed up to the kernel. If you add a filter to the exanic-capture utility it keeps the data to itself.

Multicast listener

For the services on CentOS 7  I will define them under

/etc/systemd/system
mdlisten.service

[Unit]
Description=Multicast Data listener
After=NetworkManager.service
Requires=NetworkManager.service

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/socat UDP4-RECVFROM:30011,ip-add-membership=239.192.1.11:10.3.78.13,fork -
Restart=on-abort

[Install]
WantedBy=multi-user.target

mdlisten.timer

[Unit]
Description=Start registering for multicast data

[Timer]
OnCalendar=Mon-Fri *-*-* 08:00:00
Unit=mdlisten.service

[Install]
WantedBy=basic.target

Multicast data capture service

I called this service datacapture.service


[Unit]
Description=Multicast Data collector
After=mdlisten.service
Requires=mdlisten.service

[Service]
TimeoutStartSec=0
ExecStart=/bin/sh -c "export D=\"`date +\"%Y%%m%%d\"`\"; /usr/bin/exanic-capture -i exanic0:0  -w /data/logging/$(hostname -s)/\"$D\".pcap "
ExecStop=/bin/sh -c "export D=\"`date +\"%Y%%m%%d\"`\"; cd /data/logging/$(hostname -s)/;/usr/local/bin/process-data.sh \"$D\".pcap \"$D\""
#Restart=on-abort

[Install]
WantedBy=multi-user.target

Multicast data capture timer

I have this setup to start 5 minutes after the listener


[Unit]
Description=Start listening to market data

[Timer]
OnCalendar=Mon-Fri *-*-* 08:05:00
Unit=datacapture.service

[Install]
WantedBy=basic.target

Clock sync service

This service is going to run all the time, and requires that NTP service is running


[Unit]
Description=ExaNIC Clock Sync to host
After=ntpd.service
Requires=ntpd.service

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/exanic-clock-sync exanic0:host
Restart=on-abort

[Install]
WantedBy=multi-user.target

Next Steps


systemctl daemon-reload
systemctl status mdlisten
systemctl status mdlisten.timer

You will see that both services are disabled by default, we will need to enable each of new services

systemctl enable mdlisten
systemctl enable mdlisten.timer
systemctl enable market
systemctl enable datacapture.timer
systemctl enable datacapture

Then ensure that the status is correct for each service and that the timers fire their respective services at the correct times.

Posted in CentOS, Linux, RHEL, System Administration | Comments Off on Data capture with ExaNIC’s

Configuring Exanic’s under CentOS 6

We use the Exablaze Exanic X4 cards at work. The manual does explain what you have to do but doesn’t give you the CentOS/RHEL specifics. I’m assuming the driver is already installed.  The first thing to notice is that when the exanic.ko module is installed it creates the /dev/exanic0 device.  The permissions on this driver

crw-rw---- 1 root root 10, 58 Aug 27 21:46 /dev/exanic0

This is ok if your software runs as root.  We can change that by creating a /etc/udev/rules.d/exanic.rules

KERNEL=="exanic*", GROUP="exanic", MODE="0666"
KERNEL=="exasock", GROUP="exanic", MODE="0660"

In the above, you can see that I’ve changed the default MODE and the GROUP of the device so now when the module is installed the device is created with following permissions:-

crw-rw-rw- 1 root exanic 10, 58 Aug 27 21:46 /dev/exanic0

OK so now our software can read and write from the device.  To bridge the first two ports of the Exanic X4 you issue the command

exanic-config exanic0 bridging on

We usually implement the cards so that we log all the traffic out of the logging port, port 3.  This scenario is described on the Exablaze site. To do this we perform the following:-

exanic-config exanic0:0 mirror-rx on
exanic-config exanic0:0 mirror-tx on
exanic-config exanic0:1 mirror-rx on
exanic-config exanic0:1 mirror-tx on
exanic-config exanic0:2 mirror-rx on
exanic-config exanic0:2 mirror-tx on

This ensures that all the traffic we send and receive on a port is logged out of port 3.  This setting is stored between reboots. I usually prefer to put these entries in /etc/rc.local just to ensure that the card comes up in the mode I’m after.

For us our software bypasses the Linux Ethernet stack and therefore we can put each port on the Exanic X4 that we wish to use in a mode where the Linux kernel does not see the traffic on that port:-

exanic-config exanic0:0 bypass-only on

I again put this command into /etc/rc.local.

I have to admit I don’t like the use of /etc/rc.local but I haven’t looked at using if-local yet.

One of the nice features of the Exanic X4 cards is the fact that they can handle different speed and technology connections.  For instance, if I wanted to connect a 10G Fibre connection to a 1G copper Ethernet connection I can use port 0 of the card to handle the 10G connection, then install a 1G copper Ethernet SFP into port 1, then connect this port to the required 1G port. OK this sounds great, but port 1 does not automatically go into 1G mode, we need to set that in the /etc/sysconfig/network-scripts/ifcfg-<port name> file, as shown below:-

DEVICE="eth5"
BOOTPROTO="static"
HWADDR="64:3f:5f:01:17:a5"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=192.168.1.1
NETMASK=255.255.255.0
ETHTOOL_OPTS="autoneg off speed 1000 duplex full"

This now brings the port up at the correct speed.

One nice trick of the Exanic cards is that you can disable the port, and in so doing it will take down the link between it and the connecting device. This is great for diagnosing connection issues. However, if mirroring and/or bypass-ony mode are on then this does not work. You have to turn these features off before the port can be disabled.

The last feature I like is the ability to see the status of the installed SFP, i.e.

exanic-config exanic0:0 sfp status

Device exanic0 port 0 SFP status:
  Vendor: FINISAR CORP.    PN: FTLX8571D3BCL     rev: A
                           SN: ALG0C4Q          date: 111011
  Wavelength: 850 nm
  Nominal bit rate: 10300 Mbps
  Rx power: -1.9 dBm (0.65 mW)
  Tx power: -2.1 dBm (0.62 mW)
  Temperature: 49.8 C

This is another feature useful diagnosing connectivity issues.

Let me know if you have a better solution to /etc/rc.local.

Posted in CentOS, RHEL, System Administration | Comments Off on Configuring Exanic’s under CentOS 6

CentOS 6.5 on Super Micro HFT server

Recently I had the chance to test the Super Micro 6027ax-72rf-hft3 server, which is meant for HFT environments, being over clocked including the supported network cards.  I was aiming to run performance tests with the ExaNIC X2 from Exablaze. Unfortunately, the Super Micro website doesn’t list CentOS 6.5 as a supported operating system.

My first couple of attempts in installing CentOS 6.5 on this server resulted in kernel panics, upon investigation I realised it was not seeing the disk controller.

The server uses a LSI SAS 2208 controller, so I downloaded the latest at the time MegaraidSAS RPM, kmod-megaraid_sas-06.703.11.00_centos6.5-2.x86_64.rpm.

On our PXE server I installed this rpm and then used the following steps to create a new initrd file:-

cd /tftpboot/centos6-x8_64
mkdir new-initrd
cd new-initrd
xz -dc ../initrd.img | cpio -id
cd modules/
cd 2.6.32-431.el6.x86_64/extra
rsync -av /lib/modules/2.6.32-431.el6.x86_64/extra/megaraid_sas .
cd ../../../
# download latest PCI ids to ensure thecomponents would be recognised
cd usr/share/hwdata
wget http://pci-ids.ucw.cz/v2.2/pci.ids
mv pci.ids.1 pci.ids
# Added the USB ids too
wget http://www.linux-usb.org/usb.ids
mv usb.ids.1 usb.ids
cd ../../..
find . | cpio -c -o | xz -9 --format=lzma > ../initrd2.img
cd /tftpboot/pxelinux.cfg/
vi <mac address> #edit it to use the new initrd2.img file.

Now it booted and CentOS 6.5 installed perfectly.

Posted in CentOS, Linux, System Administration | Comments Off on CentOS 6.5 on Super Micro HFT server

Pebble watch

OK I got my Pebble Steel as a gift recently.  I like it. I like the screen that I can read at anytime, twisting my wrist to turn on the back light is neat.  I particularly like the ability to cancel calls from my watch, handy when you are at the barbers and your phone is in your pocket (I imagine useful for cinemas/theatres etc ….).

I particularly like that Runkeeper and Strava send some of their details to the watch  so you can have an easy view of duration, distance and pace.  Pace I find particularly useful. I had to move back to Runkeeper from Endomondo as the latter had no support for the Pebble Steel, your loss Endomondo as I discovered the Runkeeper app had been upgraded beautifully since my last use.

There are some downsides, the notifications from Email/SMS/Calendar events seem to disrupt the updates from Strava so although Strava continues recording your ride the updates don’t get displayed. Runkeeper seems to recover.  The other down side is that when I wore the watch with the leather watch strap whilst riding my bike my wrist always seemed to be at the correct angle to turn the backlight on, it’s not good for the battery life. The other downside to owning a smart watch is having to charge it, I kept on forgetting to.  So the solution for me was to put the charger next to the bed so I can connect it every night, now I have no issues.

The notifications from Email/SMS/Calendar/Phone calls I find useful, but found I was getting too many, the upside meant I spent a week unsubscribing from sales emails, which means I process fewer emails each day and extended the battery life of the watch in the process.

The Pebble Steel is supplied with the leather watch strap fitted and the steel one in the box. I should have swapped the straps when I first received the Pebble Steel as the leather one has not handled the running, swimming and cycling I do, with the corresponding showers. So I had to swap them over. This involved me following this Pebble Steel forum post, and buying a new set of precision screwdrivers. It was relatively easy after that.

Some of the apps for the Pebble Steel work quite well, but I think it is still early days.

Only need to sort out monitoring my heart rate.

Posted in Uncategorized | Tagged , | Comments Off on Pebble watch

Apple issues

No real surprises to my mate @gavincarr, but recently I’ve been having issues with the software Apple has recently released.  The list is as follows:-

  • ios 6.1.3 on iphone 4S drains battery more quickly than previous versions. More details here
  • ios 6.1.3 on ipad, browsing seems to be considerably slower, and app updates even get retry prompts – this is new, I know we have a slow internet connection but this is unusual.
  • OS X 10.8.3 – parental controls are truly, truly broken.  Even removing a user’s parental controls, still leaves them in place. The issue here is that the user with parental controls with web restrictions is unable to connect to the Internet using any browser.  More details can be found in this Forbes article.
  • OS X 10.8.3 – on macbook air 2010, when it resumes from suspend the screen is all wobbly from the graphics card being in the wrong state.  Only solution is to reboot.  It looks like I’m not the only one, more details here.

Now this is unusual for Apple.  I have had issues in the past but never so many and never with the loss of functionality the parental controls bug causes. It is obvious that some of the recent releases have not been properly tested.

As an update: I tried to send my feedback at http://www.apple.com/feedback/macosx.html but using Chrome or Safari the feedback button fails to work!!!

Posted in Apple | Comments Off on Apple issues

Dear Samsung Australia

I bought my Samsung Galaxy Nexus (SGN) after successfully using a Nexus One for two years. The Nexus One was made by HTC and in my mind the build quality was excellent.  I never had a physical problem with this phone.  The Samsung Galaxy Nexus was great to begin with no issues at all.  Now after having it a year the recharging circuit failed, apparently quite common. I had the phone returned to me and then after a week the power button started to fail.  This has also happened to others. Including to other Samsung models like the Nexus S.

However, this post is really about Samsung Australia, and the experience centre, this is located on George Street, in Sydney, close to the Apple store.  When I took my power button issue into the store they said it could be fixed but it would need to be sent away for 5 business days, or I should hunt a local repair shop and they might be able to fix within a day.  How did I feel after that experience ?

Knowing I might be going to Korea I waited, surviving with my finger nail and software to turn the phone off. Annoyingly, I could map a volume key to wake up the phone.

My trip to Korea arrived and my phone was taken to a Samsung Service centre in Seoul, the guy on the showroom floor fixed the button in 10 minutes, the plastic had worn and I just needed a new piece of plastic. So Samsung Australia how did I feel after that experience ?

I bet if you can repeat my experience in Seoul, for others in the store in George Street, you would have customers flocking to your products. I would get another Samsung device with service like that in Australia.

Posted in Android | Comments Off on Dear Samsung Australia