2013-09-29

Fixing inaccurate wall clock

This cheap wall clock cost me ~$3. After few weeks it showed up that it is quite inaccurate being late ~40 seconds per week. While these plastic cogs tend to wear after few years causing clock to even stuck completely in some position it was unlikely that this kind of defect was present from the start.



Crystal resonator used in this clock had no markings and I think it may be production recoil. After changing it to another similar size crystal decent accuracy of the clock was restored.
Further testing showed that with new crystal clock is slightly speeding, so 20pF trimmer was added for adjustment.

2013-06-08

Review: Patriot Rage 16 GB

Popular fast, "quad channel" USB pendrive.


 There seems to be serial number engraved on USB plug.
Advertised speed: 27/25 MB/s (R/W).
Real speed is little disappointing:
On second PC I'm getting write speed close to 17 MB/s - still not matching advertised.
USB descriptors:
Device Descriptor:
------------------------------

Value Valuename
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass   
0x00 bDeviceSubClass   
0x00 bDeviceProtocol   
0x40 bMaxPacketSize0   (64 Bytes)
0x13FE idVendor
0x3800 idProduct
0x0100 bcdDevice
0x01 iManufacturer   (        )
0x02 iProduct   (Patriot Memory)
0x03 iSerialNumber   (0701281B2F1D5128)
0x01 bNumConfigurations
Hex dump: 
0x12 0x01 0x00 0x02 0x00 0x00 0x00 0x40 0xFE 0x13 
0x00 0x38 0x00 0x01 0x01 0x02 0x03 0x01 

Device Qualifier Descriptor:
------------------------------

Value Valuename
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass   
0x00 bDeviceSubClass   
0x00 bDeviceProtocol   
0x40 bMaxPacketSize0   (64 Bytes)
0x01 bNumConfigurations 
0x00 bReserved 
Hex dump: 
0x0A 0x06 0x00 0x02 0x00 0x00 0x00 0x40 0x01 0x00 

Configuration Descriptor:
------------------------------

Value Valuename
0x09 bLength
0x02 bDescriptorType
0x0020 wTotalLength
0x01 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0x80 bmAttributes   (Bus-powered Device)
0x96 MaxPower   (300 mA)
Hex dump: 
0x09 0x02 0x20 0x00 0x01 0x01 0x00 0x80 0x96 

Interface Descriptor:
------------------------------

Value Valuename
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0x08 bInterfaceClass   (Mass Storage Device Class)
0x06 bInterfaceSubClass   (Transparent SCSI subclass)
0x50 bInterfaceProtocol   (Bulk only transport)
0x00 iInterface
Hex dump: 
0x09 0x04 0x00 0x00 0x02 0x08 0x06 0x50 0x00 

Endpoint Descriptor:
------------------------------

Value Valuename
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress   (In-Endpoint)
0x02 bmAttributes
   Transfer Type:           Bulk-Transfer
   Synchronization Type:    None
   Usage Type:              Data
0x0200 wMaxPacketSize   (512 Bytes) 
0x00 bInterval
Hex dump: 
0x07 0x05 0x81 0x02 0x00 0x02 0x00 

Endpoint Descriptor:
------------------------------

Value Valuename
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress   (Out-Endpoint)
0x02 bmAttributes
   Transfer Type:           Bulk-Transfer
   Synchronization Type:    None
   Usage Type:              Data
0x0200 wMaxPacketSize   (512 Bytes) 
0x00 bInterval
Hex dump: 
0x07 0x05 0x02 0x02 0x00 0x02 0x00 

Other Speed Configuration Descriptor:
------------------------------

Value Valuename
0x09 bLength
0x07 bDescriptorType
0x0020 wTotalLength
0x01 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0x80 bmAttributes   (Bus-powered Device)
0x96 MaxPower   (300 mA)
Hex dump: 
0x09 0x07 0x20 0x00 0x01 0x01 0x00 0x80 0x96 

Interface Descriptor:
------------------------------

Value Valuename
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0x08 bInterfaceClass   (Mass Storage Device Class)
0x06 bInterfaceSubClass   (Transparent SCSI subclass)
0x50 bInterfaceProtocol   (Bulk only transport)
0x00 iInterface
Hex dump: 
0x09 0x04 0x00 0x00 0x02 0x08 0x06 0x50 0x00 

Endpoint Descriptor:
------------------------------

Value Valuename
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress   (In-Endpoint)
0x02 bmAttributes
   Transfer Type:           Bulk-Transfer
   Synchronization Type:    None
   Usage Type:              Data
0x0040 wMaxPacketSize   (64 Bytes) 
0x00 bInterval
Hex dump: 
0x07 0x05 0x81 0x02 0x40 0x00 0x00 

Endpoint Descriptor:
------------------------------

Value Valuename
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress   (Out-Endpoint)
0x02 bmAttributes
   Transfer Type:           Bulk-Transfer
   Synchronization Type:    None
   Usage Type:              Data
0x0040 wMaxPacketSize   (64 Bytes) 
0x00 bInterval
Hex dump: 
0x07 0x05 0x02 0x02 0x40 0x00 0x00 

Whole Device Descriptor as hex dump: 
0x12, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0xFE, 0x13, 
0x00, 0x38, 0x00, 0x01, 0x01, 0x02, 0x03, 0x01

Whole Device Qualifier Descriptor as hex dump: 
0x0A, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00

Whole Configuration Descriptor as hex dump: 
0x09, 0x02, 0x20, 0x00, 0x01, 0x01, 0x00, 0x80, 0x96, 0x09, 
0x04, 0x00, 0x00, 0x02, 0x08, 0x06, 0x50, 0x00, 0x07, 0x05, 
0x81, 0x02, 0x00, 0x02, 0x00, 0x07, 0x05, 0x02, 0x02, 0x00, 
0x02, 0x00

Whole Other Speed Configuration Descriptor as hex dump: 
0x09, 0x07, 0x20, 0x00, 0x01, 0x01, 0x00, 0x80, 0x96, 0x09, 
0x04, 0x00, 0x00, 0x02, 0x08, 0x06, 0x50, 0x00, 0x07, 0x05, 
0x81, 0x02, 0x40, 0x00, 0x00, 0x07, 0x05, 0x02, 0x02, 0x40, 
0x00, 0x00

The funny thing is I've tested similar (same model, same capacity) pendrive before and it's speed matched advertised. I can't blame formatting here as using Patriot Performance Formatting tool doesn't make much of a difference.

Tests conducted by others also show great variation in speed: nirsoft.net Patriot Rage tests.