Quantcast
Channel: Hacker's ramblings - Hardware
Viewing all 142 articles
Browse latest View live

New features to curcfg_tool [Failure]

$
0
0

The original post about curcfg_tool.

So I decided to add couple of new features to my tool. However, neither of of them work. :-(

Asiantuntijakaveri-blog introduced hack to run commands on boot: Persistent customizations to Huawei B593u with stock firmware. I added a feature to do that:

./curcfg_tool -rc "update-westerneurope.huaweidevice.com ; /upgflash/init.d/rc.local" -w

The flaw is in the httpupg-command startup. It takes the server address from curcfg.xml, but it doesn't escape it properly. This makes it possible to piggy-back any command on it. The thing is, that in my B593, the automatic firmware upgrade does not run automatically. I can go trigger it manually. At that point it runs my script I created at /upgflash/init.d/rc.local. My hope was, that system would run it automatically on bootup, but it doesn't.

Another thing I added was NTP-server change. I don't know where the list comes from, in my case it is completely ridiculous. However, the source for information is not fromcurcfg.xml. For example:

./curcfg_tool -ntp1 ntp.dnainternet.fi -ntp2 fi.pool.ntp.org -w

... doesn't change anything. The new servers don't appear at the list in GUI, nor the system doesn't update time from them.

Crap! Both attempts failed miserably. Please drop me a comment if you have anything to add to those ones. 


Asus mobo BIOS upgrade loses Intel RAID-configuration

$
0
0

One of these days, I went to see if my motherboard has a newer BIOS. It had, and since I had not upgraded the BIOS after building my PC, I chose to go for upgrade.

This is one of the newer model PCs. You download the file, put it into a FAT-32 formatted USB-stick. Reboot the computer and enter UEFI-setup screens. One of them has an option to display the contents of the USB-stick and load the file, upgrade the BIOS and ... reset the settings and reboot. Wait a minute! Did I just say reset the settings. Yes.

Guess what happened to my Intel Rapid Storage Technology RAID-1 -setup. :-(

Crapper! I didn't see that one coming. Now I remember again why I typically don't use motherboard "fake" RAIDs. Also, by the looks of it I wasn't alone with this: RAID1 changed to AHCI after BIOS update. Also, somebody with a Dell computer was experiencing something similar in the Intel's own discussion boards: Raid 1 rebuild with Rapid Storage Technology. I checked the manuals Intel® Rapid Storage Technology (Intel® RST) User guides, but didn't see anything that would help. Self-help seems always to be the best option anyway.

I turned the S-ATA mode back to RAID:

... but trying to re-create the RAID-1 volume seemed a bit dangerous:

The part where it says "Warning: All data on selected disks will be lost" kind of gets my attention. I didn't want to go that way.

Booting to Windows worked. Looks like drive(s) don't have any headers and if necessary, can act as a single drive:

Naturally when Windows sees two drives instead of one, it means that there is no RAID. To get this one fixed I started Interl Rapid Storage Technology user interface. It has the option to create RAID volume on RAID-ready drives:

More importantly, it has the possibility of not erasing data on a single disc:

When accepted, the rebuild process starts. It will migrate data for hours:

When it finishes, there will be only one drive left:

As the end result, the BIOS was upgraded, RAID-1 was rebuilt and I was happy again. All it took was 6 hours of rebuild time and a lot of stress! :-)

Unboxing iPhone 6

$
0
0

My iPhone 4S spent a while in the bottom of the lake. It worked under water and I got it out dried it, and it seems to work. Apparently something is short-circuiting as it doesn't stay turned off for more than a second. Mostly it does work, but I wanted a new one and went for a iPhone 6. It is impossible to get one without queueing for weeks. So, I put my order to Apple's on-line store and waited the weeks and then TNT-guy dropped the thing at my door. Nice! New toys! :-)

It looks like this in a box:

The phone is wrapped into plastic and there is the Apple-tab at the end:

In the box there are also charger, Lightning USB-cable and ear-plugs/headphones (I don't much like them):

The first idea that comes to my mind, is that "darn it's light!". Because the phone is much lighter than 4S. It is much bigger phone, but still so light. Nice! Here's the comparison:

One thing I had to do was to drive to my telco's store and get my SIM-card changed. 4S eats micro-SIMs, but this one wants a nano-SIM. Darn! There is the traditional Apple SIM-slot in the side:

Finally I got the first smoke out of it:

I chose to go for iTunes, but it didn't like me:

Crap! That's really not encouraging to see that kind of message. My solution was to un-plug it and try again. It worked! I got to the point where it was possible to set up the phone from my previous backup:

Yet another cold shower. It really paid off to upgrade into iOS 8.1! :-) NOT!

The solution was to set the phone as a new and do an upgrade:

After iOS 8.1 was running, I did a full reset to the phone and tried the iTunes restore-thing again. This time everything was ok. The restore ran much faster then on 4S. I have over 10 gigs of stuff to restore. Finally:

Nice! The screen is much bigger, and restore did place my icons to their original locations. That sure looks funny on a much bigger screen! :-)

Now that the phone was running, it was time to look some bonus things. I got a Vaja case for it:

That should protect the very expensive phone (unless dropped into a lake).

Plugging cords is not nice at office environment, so I normally sync and charge my stuff with a lighting-dock. It was visible in couple of earlier pics, but here are more:

My choice is Macally charge & sync dock Designed for Lightning iDevices and it works nicely on my iPad too:

They don't sell those in Europe for reason unknown to me. I guess it has something to do with electricity. As I ordered mine from US, it has an US transformer in it. Luckily a dock doesn't need electricity for anything, and charging fully works from my PC.

Ok, enough accessories, back to iPhone 6. It's a darn good one. It has to be the best iPhone so far! It does well on Carat battery statistics, they don't actually give out the results, but it was the best of iPhones in that. There are some results in Finnish newspaper article. On top of that, the screen (altough it is too big) is really good, camera is good and the thing runs apps very fast. I totally recommend gettin one!

Adding capacity to Samsung Story USB-drive

$
0
0

To make sure my data is properly protected, I keep a habit of lifting off monthly backups from my NAS to an external drive. I have couple of Samsung Story USB-drives dedicated for that purpose. This worked nicely for many years until I hit the brick wall. My combined monthly backup didn't fit the capacity of 1,5 TiB. It sure would be nice to have a "shingled" 8 TiB drive for that kind of storage, but unfortunately they are not available yet. See article New “Shingled” Hard Drives Hold Terabytes For Pennies A Gig.

In case you don't know what a Samsung Story drive is, it looks like this:

What I did was to pop the hood of my Story-drive to see what it had eaten. Very simple setup indeed, I went to a nearby store and got replacement 3 TiB WD Green drives (WD30EZRX).

Here is how the process goes. First pop the hood:

Quirk warning! The aluminium hood is held in place by 4 pieces of T9 Torx screws. The quirk here is, that T9 is not a common size. If you go to an average store, you'll find them having the smallest size of T10 (which is too big for this). Even my Apple repair kit doesn't have a T9, it has T8 and T10 pieces. I've taken apart Nokia phones, and they tend to have weird Torx-sizes, that's why I also have a kit which has T 4, 5, 6, 7, 8, 9 and 10. So, your biggest hurdle is to find a T9 somewhere.

When you have the aluminium cover removed, it'll look like this:

I included a blow-up of the warranty void -disclaimer sticker. I don't think Story drives have been manufactured for a while, so the warranty should be void anyway. Un-surprisingly, inside the box there is a Samsung 3,5" HD-drive, a HD154UI. Under the aluminium hood you will also find a plastic bracket. It just fills up the space making the actual drive fitting nicely and not moving. The bracket has a total of 8 plastic tabs holding it in place. I simply pushed one pair simultaneously from both sides, and I was able to lift the plastic holder up a bit. Then I just moved my fingers to the next pair and it moved more. The plastic thingie will look like this:

When the plastic bracket is gone, you can simply lift the drive upwards. It is held in place only by some rubber tabs, but the drive is essentially loose at this point:

Beware, that the S-ATA to USB -adapter (JMicron) is connected to the front-panel with a wire. That acts as a power on/off -switch for the entire thing. There are 4 wires in the connector, but I think only 2 of them are in use:

It is a pretty common connector and comes off easily by simply pulling it. The next thing is to remove the S-ATA / USB -converter -thingie from the drive. It is attached by a single #1 Phillips screw:

After the scew is gone, the entire converter-board will come loose from S-ATA -connector. Now that you have the hard drive almost completely stripped of all extra goodies, the last thing is to remove the rubber tabs and the kind-of-screws that hold them in place:

The rubber tabs or "pillows" come off by simply pulling them off from the sides. The metal "poles" are another story. They look like #1 Phillips, but the alloy they're made of is of poor quality. You can assume that a screwdriver isn't the primary tool here. I actually used pliers to turn them loose. Now everything is removed from the Samsung-drives, it's time to go big:

Just put the 4 metal screws back, fix the S-ATA / USB -converter board, attach the power-switch -cable, the rubber tabs and put the drive back to it's place. Like this:

After attaching the aluminium cover, it was a moment of truth. Does it still work? I plugged the power-cable and USB-cable back and went to my Linux:

kernel: usb 3-1.2: new high-speed USB device number 5 using xhci_hcd
kernel: usb 3-1.2: New USB device found, idVendor=04e8, idProduct=5f06
kernel: usb 3-1.2: Product: Samsung STORY Station
kernel: usb 3-1.2: Manufacturer: JMicron
kernel: usbcore: registered new interface driver usb-storage
kernel: scsi 9:0:0:0: Direct-Access     Samsung  STORY Station         PQ: 0 ANSI: 2 CCS
kernel: sd 9:0:0:0: [sde] Very big device. Trying to use READ CAPACITY(16).

Looked really good! Checking to see what my new drive had out-of-the-box:

# parted /dev/sde print
Error: /dev/sde: unrecognised disk label
Model: Samsung STORY Station (scsi)
Disk /dev/sde: 3001GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

It had nothing. Full of zeros. Not even a partition table. I'd launched the parted and went for GPT and a new Btrfs partition:

# parted /dev/sde
GNU Parted 3.1
Using /dev/sde
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart "Backups" ext2 17.4kB -1
Warning: You requested a partition from 16.9kB to 3001GB (sectors
33..5860531215).
The closest location we can manage is 17.4kB to 3001GB (sectors
34..5860531215).
Is this still acceptable to you?
Yes/No? yes
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? i
(parted) quit
Information: You may need to update /etc/fstab.

Continuing with setup:

# ls -l /dev/sde*
brw-rw----. 1 root disk 8, 64 Dec  8 23:07 /dev/sde
brw-rw----. 1 root disk 8, 65 Dec  8 23:06 /dev/sde1

# mkfs.btrfs /dev/sde1
Btrfs v3.17
See http://btrfs.wiki.kernel.org for more information.

Turning ON incompat feature 'extref': increased hardlink limit per file to 65536
fs created label (null) on /dev/sde1
        nodesize 16384 leafsize 16384 sectorsize 4096 size 2.73TiB

Looking perfect! The JMicron thingie could handle all of the new capacity, Linux saw the USB-converter nicely:

# mount /dev/sde1 /mnt/usb/
# df -k /mnt/usb/
Filesystem      1K-blocks  Used  Available Use% Mounted on
/dev/sde1      2930265588 16896 2928139456   1% /mnt/usb

Cool! Really big numbers for capacity. Now I can manage with these couple years more.

HOWTO: Build a Proper LAN with Copper Ethernet Cabling

$
0
0

Having a reliable LAN is an essential part of your Internet connection. Going for a wireless solution is fast to build (pretty much plug and use), but as everybody is running one nowadays, the 2,4 GHz band is getting crowded. It is possible to go 5 GHz which is less crowded, has more capacity and is less prone to be blocked by your household microwave oven sending noise to 2 GHz band.

The only real option is to use the wireless toys for mobile devices and tablets, but use old fashioned wired connections for real computers. The catch is, that it is pretty difficult to build and costs more than your average Wi-Fi access point.

Part 1: Planning

What is needed for LAN-build:

  • Cabling:
    • Lots of it! I rolled over 130 meters of siamese copper cable into my project.
    • With siamese cable I get two Ethernet connections on a one cable.
  • Patch panel:
    • This is the other end of the line. Typically placed into server room or rack.
    • Here is the one I got.
  • RJ-45 wall sockets:
    • This is where you connect your equipment into. I used twin-sockets for twin-cabling.
    • The recommendaton I had was to go for LexCom 250 (apparently same as Actassi here). I couldn't use them in my project as they had very long delivery time. They were bit more expensive too, but I've gladly paid for them if only I had gotten any.
    • I went for ABB FOT6208 which were easily available. I later learned, that they are not so handy to install as LexCom would be.
  • Ethernet switch:
    • That will distribute your LAN into every wall socket.
    • Any gigabit ethenrnet switch will do, even the cheapest ones.
    • I got a HP 1910-24G. It has management via web in it and a fan. When running, the fan makes noise, but I'm placing it in a dedicated room inside a rack, so I need it to function at all temperatures.
  • (optional) 19" Rack:
    • This is handy for the patch panel and switch. A small 4-5 U telco-sized rack will do.
    • This is the one I got.
  • Cable routing plan:
    • An idea where you can route the cables and where to place the wall sockets.
  • Lastly:
    • Basic cabling skills and lot of enthusiasm.
    • Typical environments will require drilling holes, cutting cables and combing the twisted pairs ouf of them.
    • To hide the cables in rooms, I used plastic cord cover. On tight corners I drilled hole into it and used a screw. The cover I used is self-sticking, but I know from experience, that the glue won't stand the test of time. Ethernet cable is quite heavy for any sticker to carry. 

All that should cost less than 1k €.

Part 2: Implementation

I started by drilling couple of holes for the cable. Then I attached the wall sockets into drywall:

This is what my siamese cabling look like:

That's your basic 4 twisted pairs in a cable. In the middle of the cable there is a plus-shaped plastic filler. It makes the cable flex a little bit better. Ethernet cabling shouldn't have too tight corners anyway, but its different story to lure the cable through ceiling or wall if it doesn't give way at all. 

My sockets and RJ-45 connectors are ABB FOT6208 toolless:

It is quite easy to hook one up:

I used T568A pin-to-pair assignment. You can notice that from the connector pic. The colour coding of cables match the upper row at the connector.

My siamese cabling had text on one of them. It was possible to identify the other pair when connecting. See how it contains the amount of meters rolled out:

At the patch panel I have Krone connectors:

A specific tool is required to make the cabling stick:

Even though a single cable is quite thin, the connection is robust. This is how the patch panel will look like when all the pairs have been connected:

I always tested every connection before proceeding:

When confirmation was made, that the connection would work ok, it was time to put the wall socket together:

That was it. It was just about repeating the same thing for every cable and wall socket.

Part 3: Wrap-up

Was it worth it? Absolutely!

Now I have properly functioning gigabit Ethernet in every room at the house. It works so much better at high speeds than any Wi-Fi I've ever tested. 

A collegue really loved my home LAN. He said, that not all businesses have installation of that scale:
"The most overkill home LAN installation"
- Thomas C.

My Weather Station setup

$
0
0

As you already know, I love all kinds of gadgets. When it comes to weather, simply having a reading of outside temperature isn't nearly enough for me. I've had a weather station running for a while, but now that I connected into the on-line world, its time to publish my setup.

The unit I'm running is a WS2357 from La Crosse Technology. They say its a "Pro family" product, but still is very affordable. I paid 150,- € for mine. On the link there's all the tech specs, but it is your basic unit having temperature, pressure, humidity measurements indoors and outdoors. Also for outdoors, there is a wind direction and speed meters and a rain gauge. It is mainly battery powered and data from outside to inside can be transmitted either wirelessly (that's how I do it) or with a wire. Apparently the max. length for the wire would be 20 meters, which exceeds my setup. But for a wireless transmission, the limit is 100 meters. It works well trough house walls.

This is what the outdoors temp, humidity, pressure unit looks like:

This is the "central unit" of outdoors. The size is surprisingly small, but it still holds 2 AA-sized batteries and RJ-11 connectors for wind, rain and indoors. When installed outdoors, it comes with a rain cover which also should insulate it from direct sunlight. This small box is battery powered, but as I never want to climb to my roof to change the batteries, I drilled a small hole for an electric cord, which I soldered into the battery contacts. On the other end of the cord I have a 3,3 VDC transformer acting a battery.

I'm not happy with the temperature measurement, it reacts too fast when sun starts to shine on it. A properly ventilated cover would do better job. In my previous unit this wasn't an issue.

The rain gauge looks like this:

How this operates is very simple. At the bottom of the funnel, there is a small seesaw. When there is enough weight (in form of water) at the seesaw, it will tilt. This empties a cup on the other end and makes the seesaw tilt to the other direction. As it is known exactly how much weight is needed for the action to take place and the area of the unit's intake, it is possible to calculate the amount of waterthat has rained on that particular area and extrapolate that into WMO specs. On the minus side of the rain gauge, it had zero installation brackets. I ended up gluing it into a metal T-bar connected to my setup.

This is the wind gauge:

With this one I have no complaints. It is very sensitive and seems to give accurate enough readings. Once when weather turned from +2 into -4 it froze for a couple of days. As there was very little wind, the wind direction didn't change at all. Normally wind direction is a scattercloud, but in this instance wind direction was fixed. The problem was solved when wind picked up. So, it wasn't that bad.

This is how my entire setup looks like as installed:

The temperature gauge could be couple of meters higher just to make sure, it wouldn't pick up any extra heat from the roofing on sunny days. I did do some measurements and that could give a boost to my outside temp readings if there is no wind at all.

To get the unit connected into on-line world, I created an account at Weather Underground. I'll transmit the readings from the unit there. To hook the unit up into my Linux-box, I had to a lengthy cable between the indoors unit and my computer. I lucked out with the protocol, as it is RS-232. I simply cut the cable at the D-9 -connector, and soldered an extension cord of 17 meters. The pin ordering is as follows:

The rule-of-thumb max. length for 2400 bps data rate is 60 meters (according to this table), so my cabling worked out perfectly.

For the software at Linux-end I went for Open2300. It is an open-source set of tools to extract necessary information from my station and publish them to The Net. I'm using a simple cron-job for it:

# Weather Underground update
*/10 * * * *  ~/Open2300/wu2300 ~/Open2300/lacrosse.conf

On the Wunderground-end I had major issues. First it didn't receive any of my transmissions. It kept insisting "INVALIDPASSWORDID|Password and/or id are incorrect", which wasn't true. I knew exactly what the password was. After couple of hours, it started working. I'm guessing their data receiving front-end gets the new accounts in a batches, and they are nowhere near real-time.

When my data started flowing, the web-front said:

... which was more than funny. If it wasn't getting any readings, why it says that the most recent one was received a minute ago. :-)

After solving all these minor glitches I was real happy with this setup. Now my station participates in a community of 60k stations all over the world. Also I can check what's the weather like while still keeping my eyes on my precious computer. :-)

iPhone (cell) Field Test mode

$
0
0

A reader of this blog contacted me and wanted me to take a look at his Huawei E5186. During the meeting he showed the Field Test mode of his iPhone. I haven't done any iPhone hacks, and had never heard of such thing. In this mode you can see details of the cellular connection. It is completely limited to that, there is no "root"-mode, nor details about Wi-Fi connection, nor details of the phone itself. But if any of the SIM, GSM, UMTS or LTE details are of interest, this one is for you.

Every iPhone has this. Really! There are details of this Field Test mode in The Net from year 2009 (iPhone 3GS), maybe earlier if you'd really want to look close. My iPhone 6 has this, so I'm pretty sure your (whatever model) has it too.

How to get there? Easy. Dial *3001 # 12345#*. Like this:

As a result you will see either the 2G/3G (GSM/UMTS) or 4G (LTE) Field Test menu:

As you can see, the 2G/3G menu has more stuff in it. It is because this is the really old stuff back from the 90s. LTE menu is light, as it is the 2010s spec. Please remember, that it is a snapshot of the situation when menu was opened.

Also notice how there is no more bars on top of the screen, there is a number in dBm. The number will indicate RSSI (in 2G) or RSCP (in 3G) or RSRP (in 4G). See article Some GSM, UMTS and LTE Measurement Units for clarification of the units.

RSSI translation:

  • -40 dBm - theorethical max., you won't get this even if you'd be right next to the cell tower
  • -50 to -75 dBm - High
  • -76 to -90 dBm - Medium
  • -91 to -100 dBm - Low
  • -101 to -120 dBm - Poor

RSRP translation:

  • theorethical max. ? dBm
  • -75 and -88 dBm - Very High
  • -89 and -96 dBm - High
  • -97 and -105 dBm - Medium
  • -106 and -112 dBm - Low
  • -113 and -125 dBm - Poor

As I didn't find much information about the actual contents of these menus, I'll try to gather here a comprehensive list. Not all of the items have a value in my phone, if there is a value recorded, but I don't know what it is for, there is a ?.

Menu / SubmenuDescription
SIM Info 
(sub level 1)
EF-FPLMN 
 EF-ICCID 
 EF-OPLMNAcT 
 EF-HPPLMN SEARCH PERIOD 
 EF-MSISDN 
 EF-3GPP MAIL BOX DIALING NUMBER 
 EF-ACCESS CONTROL CLASS 
 EF-OPERATOR PLMN LIST 
 EF-ACTING HPLMN 
 EF-ADMINISTRATIVE DATA 
 EF-RAT MODE 
 EF-LOCI 
 EF-GPRS/PS-LOCI 
PDP Context Info(List) Packet Data Protocol (PDP) Context (in GPRS), see http://developer.nokia.com/community/wiki/PDP for details of PDP
 APNAccess Point Name: Connection setting
 IPv4IPv4 address of the access point to connect to
GSM Cell Environment[UMTS only] 2G/2.5G information
 GSM RR Info 
  DTX Used?
  RR State 
  Rx Quality Sub 
  RR Mode 
  RR Sub State 
  Serving Rx Level 
  DRX used 
  RR Status 
  Rx Quality Full 
 GSM Cell Info 
  GSM Serving Cell 
  
(sub level 3)
C1 Value 
   RSSI 
   ARFCNAbsolute radio-frequency channel number
   Cell IDhttp://en.wikipedia.org/wiki/Cell_ID
Gather MCC, MNC, LAC and go http://opencellid.org/ to see where you are at
   Mobile Allocation 
   
(sub level 4)
ARFCNs(List)
    HSN 
   C2 Value 
   BSIC? bits
   MA Dedicated ARFCN 
  Neighboring Cells(List)
 GPRS Information 
  Priority Access Threshold?
  SI13 Location?
  Ext Measurement Order 
  Access Burst Type?
  DRX Timer Max?
  Network Operating Mode?
  PBCCH Present 
  Count LR 
  Packet PSI Status 
  PFC Supported?
  Cell Reselect Hysteresis 
  Count HR 
  Packet SI Status 
  Network Control Order?
  T3192 Timerhttp://www.rfwireless-world.com/Terminology/GSM-timers.html [milliseconds]
UMTS Cell Environment[UMTS only] 3G information
 Neightbor Cells 
  Active Set(List)
  Detected Set(List)
  Monitored Set(List)
  UMTS Set(List) The only one I have anything listed
   Scrambling CodeYour "identifier" in the cell. See UMTS Quick Reference - Scrambling Code for more info
   RSCPReceived signal code power: The number on top left of your screen. See UARFCN below.
   Energy Per ChipEcNo: RSCP divided by RSSI. See Some GSM, UMTS and LTE Measurement Units for details about RCSP and EcNo.
   UARFCNSee UMTS RR Info below. In this set one of the cells has same scrambling code as UMTS RR Info has. That cell has the exact same RSCP what is displayed as your received signal strenght.
  Virtual Active Set(List)
  GSM Set(List)
 HSDPA Info 
  Version 
  Primary HARQ Process 
  Sub Frames 
  Secondary HARQ Process 
  Carrier Info 
 UMTS RR InfoInformation of the Radio Relay (cell tower) who is serving you
  UARFCNUTRA Absolute Radio Frequency Channel Number: The channel number you're currently at. Decimal number, see http://niviuk.free.fr/umts_band.php for listings of bands.
  BLERBlock Error Rate (my phone displays nothing here)
  Cell IDhttp://en.wikipedia.org/wiki/Cell_ID
Gather MCC, MNC, LAC and go http://opencellid.org/ to see where you are at
  RRC StateSee UMTS RCC States (my phone displays nothing here)
  Downlink Frequency(my phone displays nothing here)
  Scrambling CodeYour "identifier" in the cell. See UMTS Quick Reference - Scrambling Code for more info
  Uplink Frequency(my phone displays nothing here)
  Ciphering(my phone displays nothing here)
  Transmit Power(my phone displays nothing here)
MM Info[UMTS only]
 Serving PLMNPublic land mobile network information
  Location Area CodeLAC (decimal): http://en.wikipedia.org/wiki/Location_area_identity
  Routing Area Code?
  PLMN Sel Mod 
  Mobile Network CodeMNC (decimal): http://en.wikipedia.org/wiki/Mobile_country_code
  Mobile Country CodeMCC (decimal): http://en.wikipedia.org/wiki/Mobile_country_code
  Service Type?
 Process PS 
  MM Sub State 
  MM State 
  MM Service State 
  Attach Reject Cause 
 Process CS 
  MM Sub State 
  MM State 
  MM Service State 
  LU Reject Cause 
 Equivalent PLMN List 
 Process CO 
  MM State 
  MM Service State 
Neighbor Measurements[LTE only]
 E-ARFCN 
 Version 
 Neighbor Cells List(List)
 
(sub level 2)
Measured RSSI 
  Ant 0 Sample Offset 
  Physical Cell ID 
  Ant 0 Frame Offset 
  Average RSRP 
  Average RSRQ 
  Ant 1 Frame Offset 
  Srxlev 
  Ant 1 Sample Offset 
  Measured RSRP 
  Frequenct OffsetTypo? Frequency Offset
  Measured RSRQ 
 Qrxlevmin 
Connected mode LTE Intra-frequency Measurement[LTE only]
 Detected Cells(List)
 Measured Neighbor Cells(List)
 Serving Filtered RSRQ 
 Serving Physical Cell ID 
 Subframe Number 
 Serving Filtered RSRP 
 E-ARFCN 
Serving Cell Info[LTE only]
 Download Bandwidth 
 Freq Band Indicator 
 Download Frequency 
 Num Tx Antennas 
 UARFCN 
 Tracking Area Code 
 Cell Identity 
 Physical Cell ID 
 Upload Frequency 
 Upload Bandwidth 
Reselection Candidates[LTE only]
 Version 
 Serving Cell ID 
 Serving EARFCN 
 Reselection Candidates List(List)
Serving Cell Measurements[LTE only]
 Measured RSSI 
 Qrxlevmin 
 P_Max 
 Max UE Tx Power 
 Version 
 S Non Intra Search 
 Physical Cell ID 
 Average RSRP 
 Measurement Rules 
 Average RSRQ 
 Serving Layer Priority 
 Srxlev 
 Measured RSRP 
 Num of Consecutive DRX Cycles of S < 0 
 Measurement Rules Updated 
 Measured RSRQ 
 E-ARFCN 
 S Intra Search 

Please help me complete this (at least all the good stuff). If you find something incorrect or missing, please drop me a comment.

First B593 s-22 exploit: Setup FTP to get /var/sshusers.cfg

$
0
0

I have a new version of B593_exploit.pl published. See this article about previous info.

This version has s-22 FTP hack added to it. u-12 has the classic FTP USB-share flaw where it is possible to create a FTP share of the /. Unfortunately in this box Huawei guys made the web GUI a bit smarter, you cannot do such a nice share anymore. The fortunate part is, that the guys don't check for that at the save. :-) If you manage to lure the ../.. past the GUI, you can do it. That's what the exploit is about.

Example run:

./B593_exploit.pl 192.168.1.1 admin --ftp-setup \  ftpuser ftppassword

That command will share the first USB-device found at the filesystem root of the box. You have to have a physical USB-storage attached. It doesn't have to have anything on it and it won't be affected during the process. But setting a path will fail, if there is no USB-storage.

I had problems with the FTP-client, it kept complaining about FTP passive mode. I switched the client into NcFTP and that solved my problem.

When in the box the SSH passwords are at the classic /var/sshusers.cfg. If configuration is of interest to you, it can be found from /app/curcfg.xml. When the admin user's password is known, it is only a trivial task to SSH into the box and gain a shell access.

While looking around the box, I got carried away with the lteat-command. I managed to brick the box. :-( But that's an another story.)


ZTE MF910 Wireless Router reviewed

$
0
0

I had a chance to setup a modern 4G/3G/2G router. Of course I took pics and share the details here! :-)

This is what a ZTE MF910 looks like:

Pretty much the first thing that comes to my mind is: "It's a cell phone!" Yes, indeed. It is. It is an Android phone. My guess is, it is 99% of a cell phone when compared to an Android in your pocket. It is small, it has an USB-charger, runs hours from a battery. It is shiny (pretty difficult to get decent pictures of it). It has a display (no touching or anything expensive). And it costs 99,- €. There is very little differentiating it, except that it doesn't have a speaker and a microphone. I didn't pop the hood of it (that thing isn't mine, I was just helping to set it up), but I'm thinking it has all the chips and electronics a phone would have.

Screen will indicate connection type (2G/3G/4G), bars, Internet status (ok, both arrows up and down), Wi-Fi enabled, how many clients are connected to the Wi-Fi, battery charge level, operator name, cumulative time connected and the cumulative transmitted bytes.

On the back there are out-of-the-box defaults and mandatory IMEI-information. The TAC-code for this one is 86415402 and I couldn't find it from any TAC databases. Must be quite a new one. What I didn't find is how to replace the battery. I guess you cannot, it is like a cell phone. It doesn't feel hot or anything when running, looks like the electronics design is also modern. It puts all the electrons where you'd expect them to go, not to dissipate heat.

Here is a clear difference to a phone:

There are two antenna connectors (TS9) on the sides. As all LTE equipment always has 2 antennas (your phone does, you just won't see them), there needs to be connectors for both of them. The intended purpose for this is to convert cellular connection into Wi-Fi. As sometimes the cell network connection is poor, adding a proper antenna (or two) can make a difference. Power button has one extra feature including the obvious one. If you press it shortly, it will display the default WLAN SSID and password on the screen. Funny thing: if you change them, the screen won't display the new ones. :-) On the as-expected, there is a mini-SIM -slot and mini-A USB for the charger.

The antenna connector is a quirky one:

I couldn't find anything to connect to it. Any typical small appliance (like Huawei USB-sticks) have CRC9-connector, or the bigger routers (like Huawei B593) have SMA-connectors. I guess the new TS9 is suiting better for some reason.

When the SIM-card in inserted, power button pressed and box is up and running, it connects automatically to internet. It distributes an IP-address to any client devices and enables the management web-console. It looks like this:

There is a decent selection of langauges for the GUI:

And the top right corner status indicator is good one:

It provides a lot of information without need to login. This is what it looks like once in:

There is no need to look for Wi-Fi settings. :-) They are right there after a login. In general I really love their approach, lot of useful features and really well thought web-GUI implemented. Also the existence of 5 GHz WLAN tells about a modern design. A while ago only 2,4 GHz existed in routers such as this.

The Internet connection details are:

APN I didn't touch, it just worked. Network mode (2G/3G/4G) may be necessary if reception has issues. The most important thing is, that this box has a built-in freq lock in it. No need of hacking or any quirks. This is by far the most commonly asked question nowadays, how do you lock B593 into a frequency. With this el-cheapo box, setting is right there! Nice. :-)

I also love the status screens:

Lot of relevant information right at your screen! This is exactly what everybody else should be doing. Unfortunately the network status screen is optimized heavily for LTE-connections and on UMTS it won't tell much.

As a conclusion I have to recommend this cheaply built piece of plastic for any router needs. It certainly is worth the money and has just the right features in it. The only thing that worries me is the constant charging: will it survive future years? I don't care if the thing wouldn't run from the battery, but will the charger alone be enough to run it?

Huawei E5186 (prototype) reviewed

$
0
0

As I mentioned earlier, a reader of this blog got a Huawei E5186 and I got to test drive it. The model is still in prototype and the semi-official rumour is, that it will be released Q2/2015. As usual, they are not sold directly by Huawei, but by telcos. The one I had was from Germany, T-mobile. The mobile side is pretty much same as in B593s-22, the exact model I had was in fact E5186s-22. Frequencies and modulations are: LTE FDD DD800/900/1800/2100/2600 and TDD 2600. It is very likely, that inside the box is a HiSilicon Android running on a ARM-chip.

It looks exactly like a B593. Here are the pics:

The first things I noticed, that the Tel1 and Tel2 RJ-11 connectors are missing. Also: no USB!! What! I found information from discussion boards, that this particular T-Mobile version is a "poor man's model". There does exist other E5186 models, which have USB and the Tel-connectors.

As a B593 has, there are dual antenna connectors and they are SMA:

For testing this router I didn't need external antennas, the RF-side is much more sensitive than in a B593. In a location where I normally have one bar (without external antenna), this one got three (out of five). Nice!

If you'd want to pop the hood, it opens like B593 does, from the bottom:

All Huawei-hardware has a thin paper on top of one screw. This is to indicate if that screw was removed to void any warranty. I didn't open it, it wasn't my own box.

The web-GUI is completely new:

Everything looked brand new, so had to port-scan the thing:

PORT   STATE SERVICE
53/tcp open  domain
80/tcp open  http
MAC Address: 38:F8:89:03:1C:36 (Unknown)

What a surprise! Nothing there. Nothing! No SSH, no FTP, no Samba, no HTTPS. A B593 has plenty of ports open, but this beast is closed as a clam.

A cursory check on the HTML and JavaScript prooved, that entire front was re-written. B593 front has issues on security and functionality, this thing is entirely jQuery / AJAX -based thing. All the requests transfer XML. I was expecting JSON, but hey, it works. I guess there is something on back-end, which runs better on XML.

As the stripped-down hardware suggests, the web-GUI has very little options:

No real surprises there. The only thing, that really caught my eye, was the 5GHz WLAN which B593 doesn't have. There must be some new electronics inside.

This is the device information screen:

As it happened, also Finnish magazine happened to review the E5186. I don't have a permission for reprint, but here is a small glimpse what they said:

As a conclusion, the mag loved the box. I don't know which version they had, but this one without USB I don't especially love. It's too pricey without the port. Under the hood, the AJAX-API has a ton of features not available via your web browser. I'll get back to that subject later.

Huawei E5186 AJAX API

$
0
0

As I wrote in my E5186 review, there is a very good API for accessing the box.

All responses start with a <?xml version="1.0" encoding="UTF-8"?>. API-calls have <response> as the root element, config-calls have <config> as the root element. Some of the API-calls can be set (POST) or get (GET). Config cannot be set (POST), only read (GET).

URI

GET /
POST

Login
only
DescriptionSample
/config/global/config.xmlGET Config

<homepage/>
<default_language>de-de</default_language>
<dialogdisapear>3000</dialogdisapear>
<tip_disapear>3000</tip_disapear>
<update_interval>3000</update_interval>
<ap_station_enabled>0</ap_station_enabled>
<title>Mobile Broadband</title>
<login>1</login>
<autoapn_enabled>0</autoapn_enabled>
<footer>1</footer>
<battery_enabled>0</battery_enabled>
<continue_button>1</continue_button>
<special_redirect>1</special_redirect>
<menu_number>5</menu_number>
<roam_warn_enabled>1</roam_warn_enabled>
<hotlinks>
<enable>1</enable>
<items>
<item/>
<item/>
<item/>
</items>
</hotlinks>
<appmanagements>
<enabled>0</enabled>
<mobileWifi>
<android>http:&#x2F;&#x2F;consumer.huawei.com

&#x2F;minisite&#x2F;mobilewifiapp
&#x2F;apk&#x2F;HuaweiMobileWiFi.apk
</android>
<ios>https:&#x2F;&#x2F;itunes.apple.com
&#x2F;app&#x2F;huawei-mobile-wifi
&#x2F;id546979875?ls=1&amp;mt=8</ios>
<windows/>
</mobileWifi>
<mobileDoctor>
<windowsOS>http:&#x2F;&#x2F;consumer.huawei.com
&#x2F;en&#x2F;support&#x2F;downloads
&#x2F;detail&#x2F;index.htm?id=16921
</windowsOS>
<macOS/>
<linuxOS/>
</mobileDoctor>
</appmanagements>
<commend_enable>0</commend_enable>
<connection>
<enable>1</enable>
<connectionstatus>1</connectionstatus>
</connection>
<position_info>
<offset>0</offset>
<offset_ie6>0</offset_ie6>
</position_info>
<menu>
<home>home</home>
<statistic>statistic</statistic>
<commend>commend</commend>
<sms>
<inbox>smsinbox</inbox>
<sent>smssent</sent>
<drafts>smsdrafts</drafts>
<sms_center_number>messagesettings</sms_center_number>
</sms>
<update>
<update_online>update</update_online>
<update_local>update_local</update_local>
</update>
<ussd>
<prepaid>
<pre_service_title>activate_internet_service
</pre_service_title>
<pre_fun_balanceInquiry>balanceInquiry
</pre_fun_balanceInquiry>
<pre_fun_charge>charge</pre_fun_charge>
<pre_fun_general>general</pre_fun_general>
</prepaid>
<postpaid>
<post_service_title>activate_internet_service
</post_service_title>
<post_fun_balanceInquiry>balanceInquiry
</post_fun_balanceInquiry>
<post_fun_charge>charge</post_fun_charge>
<post_fun_general>general</post_fun_general>
</postpaid>
</ussd>
<settings>
<quick_setup>quicksetup</quick_setup>
<dialup>
<mobileconnection>mobileconnection</mobileconnection>
<profilesmgr>profilesmgr</profilesmgr>
<mobilenetworksettings>mobilenetworksettings
</mobilenetworksettings>
</dialup>
<internet>
<wifinetworks>wifinetworks</wifinetworks>
<wifipriority>wifipriority</wifipriority>
<stationwps>stationwps</stationwps>
</internet>
<wlan>
<wlanbasicsettings>wlanbasicsettings
</wlanbasicsettings>
<wlanadvanced>wlanadvanced</wlanadvanced>
<wlanmacfilter>wlanmacfilter</wlanmacfilter>
<wps>wps</wps>
<dhcp>dhcp</dhcp>
</wlan>
<voip>
<serverbasic>serverbasic</serverbasic>
<voipinformation>voipinformation</voipinformation>
<sipbasic>sipbasic</sipbasic>
<speeddial>speeddial</speeddial>
<sipadvance>sipadvance</sipadvance>
<voiceadvanced>voiceadvanced</voiceadvanced>
<sipvoicecodec>sipvoicecodec</sipvoicecodec>
</voip>
<security>
<pincodemanagement>pincodemanagement
</pincodemanagement>
<firewallswitch>firewallswitch</firewallswitch>
<macfilter>macfilter</macfilter>
<lanipfilter>lanipfilter</lanipfilter>
<virtualserver>virtualserver</virtualserver>
<dmzsettings>dmzsettings</dmzsettings>
<nat>nat</nat>
<ddns>ddns</ddns>
<bridgemode>bridgemode</bridgemode>
<urlfilter>urlfilter</urlfilter>
</security>
<cbssettings>cbssettings</cbssettings>
<system>
<deviceinformation>deviceinformation
</deviceinformation>
<modifypassword>modifypassword</modifypassword>
<diagnosis>diagnosis</diagnosis>
<restore>restore</restore>
<reboot>reboot</reboot>
<systemsettings>systemsettings</systemsettings>
</system>
</settings>
</menu>

/config/global/net-type.xmlGET Config ?<networktypes><index>001</index>
<networktype></networktype></networktypes>
<networktypes><index>002</index>
<networktype></networktype></networktypes>
<networktypes><index>003</index>
<networktype></networktype></networktypes>
<networktypes><index>004</index>
<networktype></networktype></networktypes>
<networktypes><index>005</index>
<networktype></networktype></networktypes>
<networktypes><index>006</index>
<networktype></networktype></networktypes>
<networktypes><index>007</index>
<networktype></networktype></networktypes>
<networktypes><index>008</index>
<networktype></networktype></networktypes>
<networktypes><index>009</index>
<networktype></networktype></networktypes>
<networktypes><index>010</index>
<networktype></networktype></networktypes>
<networktypes><index>011</index>
<networktype></networktype></networktypes>
<networktypes><index>012</index>
<networktype></networktype></networktypes>
<networktypes><index>013</index>
<networktype></networktype></networktypes>
<networktypes><index>015</index>
<networktype></networktype></networktypes>
<networktypes><index>017</index>
<networktype></networktype></networktypes>
<networktypes><index>018</index>
<networktype></networktype></networktypes>
<networktypes><index>019</index>
<networktype></networktype></networktypes>
<networktypes><index>021</index>
<networktype></networktype></networktypes>
<networktypes><index>022</index>
<networktype></networktype></networktypes>
<networktypes><index>023</index>
<networktype></networktype></networktypes>
<networktypes><index>024</index>
<networktype></networktype></networktypes>
<networktypes><index>025</index>
<networktype></networktype></networktypes>
<networktypes><index>026</index>
<networktype></networktype></networktypes>
<networktypes><index>027</index>
<networktype></networktype></networktypes>
<networktypes><index>028</index>
<networktype></networktype></networktypes>
<networktypes><index>029</index>
<networktype></networktype></networktypes>
<networktypes><index>030</index>
<networktype></networktype></networktypes>
<networktypes><index>031</index>
<networktype></networktype></networktypes>
<networktypes><index>032</index>
<networktype></networktype></networktypes>
<networktypes><index>033</index>
<networktype></networktype></networktypes>
<networktypes><index>034</index>
<networktype></networktype></networktypes>
<networktypes><index>035</index>
<networktype></networktype></networktypes>
<networktypes><index>036</index>
<networktype></networktype></networktypes>
<networktypes><index>041</index>
<networktype></networktype></networktypes>
<networktypes><index>042</index>
<networktype></networktype></networktypes>
<networktypes><index>043</index>
<networktype></networktype></networktypes>
<networktypes><index>044</index>
<networktype></networktype></networktypes>
<networktypes><index>045</index>
<networktype></networktype></networktypes>
<networktypes><index>046</index>
<networktype></networktype></networktypes>
<networktypes><index>061</index>
<networktype></networktype></networktypes>
<networktypes><index>062</index>
<networktype></networktype></networktypes>
<networktypes><index>063</index>
<networktype></networktype></networktypes>
<networktypes><index>064</index>
<networktype></networktype></networktypes>
<networktypes><index>065</index>
<networktype></networktype></networktypes>
<networktypes><index>101</index>
<networktype></networktype></networktypes>
/config/pcassistant/config.xmlGET  <!-- 特性开关(要增加这个开关,与其他模块统一) -->
<enable>0</enable>

 

<!-- PC助手页面链接地址 -->
<winpath>http://www.huaweidevice.com/resource
/mini/201105202018/bolt-card/setup_win.exe</winpath>
<macpath>http://www.huaweidevice.com/resource
/mini/201105202018/bolt-card/setup_mac.zip</macpath>
<upgradepath>http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=945436kbln=zh-cn</upgradepath>

/config/global/languagelist.xmlGET  <languages>
<!-- UI显示的语言列表 -->
<language>de-de</language>
<language>en-us</language>
</languages>
<privacy_policy_url>
<default_url>http://consumer.huawei.com/en/privacy-policy/index.htm</default_url>
<en_us>http://consumer.huawei.com/en/privacy-policy/index.htm</en_us>        
<zh_cn>http://consumer.huawei.com/cn/privacy-policy/index.htm</zh_cn>        
</privacy_policy_url>

 

<usermanual_language>
<default_language>de-de</default_language>
<support_language>
<language>en-us</language>        
<language>de-de</language>        
</support_language>
</usermanual_language>

/config/deviceinformation/config.xmlGET  <devicename>1</devicename>
<serialnumber>0</serialnumber>
<imei>1</imei>
<imsi>1</imsi>
<iccid>0</iccid>
<msisdn>1</msisdn>
<hardwareversion>1</hardwareversion>
<softwareversion>1</softwareversion>
<webuiversion>1</webuiversion>
<macaddress1>1</macaddress1>
<macaddress2>0</macaddress2>
<productfamily>0</productfamily>
<classify>0</classify>
<wanipaddress>1</wanipaddress>
<wanipv6address>0</wanipv6address>
<esn>0</esn>
<meid>0</meid>
<pci>0</pci>
<sc>0</sc>
<cell_id>0</cell_id>
<rsrq>0</rsrq>
<rsrp>0</rsrp>
<rssi>0</rssi>
<sinr>0</sinr>
<rscp>0</rscp>
<ecio>0</ecio>
/config/webuicfg/config.xmlGET  <lanipfilter>
<wan>1</wan>
<number>16</number>
<lan_enable>1</lan_enable>
<protocol_imcp>1</protocol_imcp>
</lanipfilter>
<specialapplication>
<number>16</number>
</specialapplication>
<virtualserver>
<number>16</number>
</virtualserver>
<firewallwanportpingswitch_enable>1
</firewallwanportpingswitch_enable>
<urlfilter><number>16</number></urlfilter>
<dialog_new_version>1</dialog_new_version>  
<install_processbar_enable>1
</install_processbar_enable>
<install_processbar_speed>1
</install_processbar_speed>
/api/cradle/status-infoGET  <cradlestatus>0</cradlestatus>
<connectstatus>902</connectstatus>
<connectionmode>5</connectionmode>
<currenttime>0</currenttime>
<macaddress>38:F8:89:38:F8:89</macaddress>
<ipaddress></ipaddress>
<netmask></netmask>
<gateway></gateway>
<primarydns></primarydns>
<secondarydns></secondarydns>
/api/device/autorun-versionGET Radio hardware version?<Version>22.001.07.00.03</Version>
/api/device/basic_informationGET LTE, customer premises equipment<productfamily>LTE</productfamily>
<classify>cpe</classify>
<multimode>0</multimode>
/api/device/control?   
/api/device/device-feature-switchGET  <coulometer_enabled>0</coulometer_enabled>
<copyright_enabled>1</copyright_enabled>
/api/device/informationGET Android-side version information<DeviceName>E5186s-22a</DeviceName>
<SerialNumber>W</SerialNumber>
<Imei>8643910</Imei>
<Imsi>2</Imsi>
<Iccid>8</Iccid>
<Msisdn>041</Msisdn>
<HardwareVersion>CL1E5175HM</HardwareVersion>
<SoftwareVersion>21.298.00.00.55</SoftwareVersion>
<WebUIVersion>16.100.02.00.03</WebUIVersion>
<MacAddress1>38:F8:89:38:F8:89</MacAddress1>
<MacAddress2></MacAddress2>
<ProductFamily>LTE</ProductFamily>
<Classify>cpe</Classify>
<supportmode></supportmode>
<workmode>LTE</workmode>
/api/device/signalGET Cell ID and signal quality parameters: RSRQ, RSRP, RSSI, SINR, RSCP, Ec/Io<pci>82</pci>
<sc></sc>
<cell_id>551</cell_id>
<rsrq>-6dB</rsrq>
<rsrp>-102dBm</rsrp>
<rssi>-89dBm</rssi>
<sinr>3dB</sinr>
<rscp></rscp>
<ecio></ecio>
<mode>7</mode>
/api/device/usb-tethering-switch?   
/api/dialup/connectionGET  <RoamAutoConnectEnable>0</RoamAutoConnectEnable>
<MaxIdelTime>600</MaxIdelTime>
<ConnectMode>0</ConnectMode>
<MTU>1500</MTU>
<auto_dial_switch>1</auto_dial_switch>
/api/dialup/dial?   
/api/dialup/mobile-dataswitchGET  <dataswitch>1</dataswitch>
/api/global/module-switchGET Features of the router<ussd_enabled>0</ussd_enabled>
<bbou_enabled>1</bbou_enabled>
<sms_enabled>1</sms_enabled>
<sdcard_enabled>0</sdcard_enabled>
<wifi_enabled>1</wifi_enabled>
<statistic_enabled>1</statistic_enabled>
<help_enabled>1</help_enabled>
<stk_enabled>0</stk_enabled>
<pb_enabled>0</pb_enabled>
<dlna_enabled>0</dlna_enabled>
<ota_enabled>0</ota_enabled>
<wifioffload_enabled>0</wifioffload_enabled>
<cradle_enabled>1</cradle_enabled>
<multssid_enable>1</multssid_enable>
<ipv6_enabled>0</ipv6_enabled>
<monthly_volume_enabled>1</monthly_volume_enabled>
<powersave_enabled>0</powersave_enabled>
<sntp_enabled>0</sntp_enabled>
<dataswitch_enabled>1</dataswitch_enabled>
<ddns_enabled>0</ddns_enabled>
<sambashare_enabled>0</sambashare_enabled>
<poweroff_enabled>0</poweroff_enabled>
<fw_macfilter_enabled>1</fw_macfilter_enabled>
<ecomode_enabled>1</ecomode_enabled>
<zonetime_enabled>0</zonetime_enabled>
<diagnosis_enabled>1</diagnosis_enabled>
<localupdate_enabled>1</localupdate_enabled>
<cbs_enabled>0</cbs_enabled>
<qrcode_enabled>0</qrcode_enabled>
<charger_enbaled>0</charger_enbaled>
/api/host/infoPOST Web-admin client information for the router<Time>20150315223426</Time>
<Timezone>GMT+02:00</Timezone>
<Platform>Win32</Platform>
<PlatformVer>Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0</PlatformVer>
<Navigator>5.0 (Windows)</Navigator>
<NavigatorVer>Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0</NavigatorVer>
/api/language/current-languageGET Selected language. There is a list of supported languages at /config/global/languagelist.xml<CurrentLanguage>en-us</CurrentLanguage>
/api/monitoring/check-notificationsGET  <UnreadMessage>0</UnreadMessage>
<SmsStorageFull>0</SmsStorageFull>
<OnlineUpdateStatus>14</OnlineUpdateStatus>
/api/monitoring/converged-statusGET SIM info<SimState>257</SimState>
<SimLockEnable>0</SimLockEnable>
<CurrentLanguage>en-us</CurrentLanguage>
/api/monitoring/statusGET  <ConnectionStatus>901</ConnectionStatus>
<WifiConnectionStatus></WifiConnectionStatus>
<SignalStrength></SignalStrength>
<SignalIcon>3</SignalIcon>
<CurrentNetworkType>101</CurrentNetworkType>
<CurrentServiceDomain>3</CurrentServiceDomain>
<RoamingStatus>0</RoamingStatus>
<BatteryStatus></BatteryStatus>
<BatteryLevel></BatteryLevel>
<BatteryPercent></BatteryPercent>
<simlockStatus>0</simlockStatus>
<WanIPAddress>37.33.207.127</WanIPAddress>
<WanIPv6Address></WanIPv6Address>
<PrimaryDns>62.241.198.245</PrimaryDns>
<SecondaryDns>62.241.198.246</SecondaryDns>
<PrimaryIPv6Dns></PrimaryIPv6Dns>
<SecondaryIPv6Dns></SecondaryIPv6Dns>
<CurrentWifiUser>0</CurrentWifiUser>
<TotalWifiUser>64</TotalWifiUser>
<currenttotalwifiuser>64</currenttotalwifiuser>
<ServiceStatus>2</ServiceStatus>
<SimStatus>1</SimStatus>
<WifiStatus>0</WifiStatus>
<CurrentNetworkTypeEx>101</CurrentNetworkTypeEx>
<maxsignal>5</maxsignal>
<wifiindooronly>0</wifiindooronly>
<wififrequence>0</wififrequence>
<classify>cpe</classify>
<flymode>0</flymode>
<cellroam>1</cellroam>
<ltecastatus>0</ltecastatus>
/api/monitoring/traffic-statisticsGET Traffic transferred<CurrentConnectTime>243360</CurrentConnectTime>
<CurrentUpload>244020</CurrentUpload>
<CurrentDownload>1135754</CurrentDownload>
<CurrentDownloadRate>0</CurrentDownloadRate>
<CurrentUploadRate>0</CurrentUploadRate>
<TotalUpload>90688300183</TotalUpload>
<TotalDownload>250205129647</TotalDownload>
<TotalConnectTime>10613008</TotalConnectTime>
<showtraffic>1</showtraffic>
/api/net/current-plmnGET Public Land Mobile Network information<State>0</State>
<FullName>DNA</FullName>
<ShortName>DNA</ShortName>
<Numeric>24412</Numeric>
<Rat>7</Rat>
/api/online-update/upgrade-messageboxGET  <messagebox>1</messagebox>
/api/pin/statusGET Extended SIM information<SimState>257</SimState>
<PinOptState>258</PinOptState>
<SimPinTimes>3</SimPinTimes>
<SimPukTimes>10</SimPukTimes>
/api/redirection/homepageGET  <EnableRedirection>0</EnableRedirection>
<Homepage></Homepage>
/api/security/bridgemode? ? Enable bridge-mode 
/api/security/upnpGET, POST Query or set Universal Plug and Play setting<UpnpStatus>1</UpnpStatus>
/api/sms/get-cbsnewslist?   
/api/sms/sms-list?   
/api/user/loginPOST Log in an admin-user<Username>admin</Username>
<Password>-password-hash-</Password>
<password_type>4</password_type>
/api/user/logoutPOST Log out an already logged in user<Logout>1</Logout>
/api/user/remindGET  <remindstate>1</remindstate>
/api/user/session?   
/api/user/state-loginGET 

State = -1 no logged in user
Password type = 4 for SHA-256 hashed password with token

<State>-1</State>
<Username></Username>
<password_type>4</password_type>
/api/ussd/get?   
/api/webserver/token? Get a new security token 
/api/wlan/basic-settingsGET WiFi setup information<WifiSsid>Huawei5186_2.4</WifiSsid>
<WifiChannel>9</WifiChannel>
<WifiHide>0</WifiHide>
<WifiCountry>ALL</WifiCountry>
<WifiMode>b&#x2F;g&#x2F;n</WifiMode>
<WifiRate>0</WifiRate>
<WifiTxPwrPcnt>100</WifiTxPwrPcnt>
<WifiMaxAssoc>32</WifiMaxAssoc>
<WifiEnable>1</WifiEnable>
<WifiFrgThrshld>2346</WifiFrgThrshld>
<WifiRtsThrshld>2347</WifiRtsThrshld>
<WifiDtmIntvl>1</WifiDtmIntvl>
<WifiBcnIntvl>100</WifiBcnIntvl>
<WifiWme>1</WifiWme>
<WifiPamode>0</WifiPamode>
<WifiIsolate>0</WifiIsolate>
<WifiProtectionmode>1</WifiProtectionmode>
<Wifioffenable>1</Wifioffenable>
<Wifiofftime>600</Wifiofftime>
<wifibandwidth>0</wifibandwidth>
<wifiautocountryswitch>0</wifiautocountryswitch>
<WifiRestart>0</WifiRestart>
/api/wlan/handover-setting?   
/api/wlan/multi-security-settings?   
/api/wlan/multi-switch-settingsGET  <multissidstatus>1</multissidstatus>
/api/wlan/station-information?   
/api/wlan/wifi-feature-switchGET WiFi features<wifi5g_enabled>1</wifi5g_enabled>
<wifiautocountry_enabled>0</wifiautocountry_enabled>
<maxapnum>2</maxapnum>
<isdoublechip>1</isdoublechip>
<acmode_enable>1</acmode_enable>
<stawpsenabled>0</stawpsenabled>
<opennonewps_enable>1</opennonewps_enable>
<stafrequenceenable>0</stafrequenceenable>
<wifi24g_switch_enable>1</wifi24g_switch_enable>
<wifi_dfs_enable>0</wifi_dfs_enable>
/api/net/net-modeGET, POST Mode lock (2G/3G/4G), frequency lock. Bitmask with Huawei values.<NetworkMode>03</NetworkMode>
<NetworkBand>3FFFFFFF</NetworkBand>
<LTEBand>800C5</LTEBand>
     

All of the API-calls require a valid session cookie set to respond. Some commands require a logged in user for access, some don't. I won't be able to maintain this list, as I don't own an E5186, but I'll update this if I find something interesting.

Later I will publish a tool to allow full bi-directional access.

Huawei B593 s-22 more RS-232 pins

$
0
0

After poking a s-22 around with an oscilloscope I managed to find a serial signal out of it. However, Mr. Asiantuntijakaveri pointed out, that it isn't especially useful. To him that serial stuff looked like the mobile-side baseband. Couple of hours tinkering with VxWorks prompt didn't result much for me. So, back to the scope ...

This is what I found:

Another 1,8 volt serial signal. RS-232 parameters are alike the other one 115200 bps 8N1. I couldn't confirm the DCE RX-pin. There is one with suitable electrical characteristics, but it looks like the box doesn't offer any input capabilities, not at least with default configuration.

The data on boot time looks like this:

v?l?space?write magic succsse!%x
24680138%s start addr:0x%x size:0x%x
first step
second step
thred step
DDR exam right !!!!!!!!!!!!!!!!!!!!!!!

press space key to enter bootrom:
Start from: vxWorks Kernel.
>>loading: VxWorks ... success.
>>loading: FastBoot ... success.

hw main id:00000400, sub id:00000001activate_fastboot...0x3CD00000
Starting from entry: 0x30004000
[ 0.000000] Linux version 2.6.35.7 (q81003564@MBB-V7R1-CPE) (gcc version 4.5.1 (ctng-1.8.1-FA) ) #1 PREEMPT Mon Jun 3 13:50:16 CST 2013
[ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c53c7f
[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[ 0.000000] Machine: Hisilicon Balong
[ 0.000000] Ignoring unrecognised tag 0x4d534d70
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[000005940ms] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 36576
[000005941ms] Kernel command line: root=/dev/ram0 rw console=ttyAMA0,115200 console=uw_tty0 rdinit=/init mem=144m
[000005941ms] PID hash table entries: 1024 (order: 0, 4096 bytes)
[000005941ms] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[000005942ms] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[000005957ms] Memory: 144MB = 144MB total
[000005957ms] Memory: 133780k/133780k available, 13676k reserved, 0K highmem
[000005957ms] Virtual kernel memory layout:
[000005957ms] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[000005957ms] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[000005957ms] DMA : 0xff600000 - 0xffe00000 ( 8 MB)
[000005957ms] vmalloc : 0xc9800000 - 0xf0000000 ( 616 MB)
[000005957ms] lowmem : 0xc0000000 - 0xc9000000 ( 144 MB)
[000005957ms] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[000005957ms] .init : 0xc0008000 - 0xc0028000 ( 128 kB)
[000005958ms] .text : 0xc0028000 - 0xc06ca000 (6792 kB)
[000005958ms] .data : 0xc06ca000 - 0xc0701520 ( 222 kB)
[000005958ms] SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[000005958ms] Preemptable hierarchical RCU implementation.
[000005958ms] RCU-based detection of stalled CPUs is disabled.
[000005958ms] Verbose stalled-CPUs detection is disabled.
[000005958ms] NR_IRQS:160
[000005958ms] Console: colour dummy device 80x30
[000005958ms] Calibrating delay loop... 897.84 BogoMIPS (lpj=4489216)
[000006218ms] pid_max: default: 4096 minimum: 301
[000006218ms] Mount-cache hash table entries: 512
[000006218ms] CPU: Testing write buffer coherency: ok
[000006219ms] start log trace.
[000006223ms] NET: Registered protocol family 16
[000006224ms] Serial: BalongV7R1 UART driver
[000006224ms] dev:uart0: ttyAMA0 at MMIO 0x90007000 (irq = 102) is a Balong rev0
[000006435ms] console [ttyAMA0] enabled
[000006461ms] bio: create slab at 0
[000006465ms] hi_gpio_probe:gpio sync in acore.
[000006469ms] hi_gpio_probe:gpio sync over.
[000006474ms] SCSI subsystem initialized
[000006478ms] enter Acpu-softtimer-modeule-init!!!
[000006482ms] softtimer_module_start_success-,1-- >>>>>>>>>>>>>>
[000006488ms] start create the softtimer thread!!!
[000006492ms] end the Acpu_softtimer_init() !!!
[000006497ms] usbcore: registered new interface driver usbfs
[000006503ms] usbcore: registered new interface driver hub
[000006508ms] usbcore: registered new device driver usb
[000006513ms] ***************************************************************
[000006520ms] begin to init mutilcore: 0000
[000006524ms] hw id: main,0x400, sub,0x1
[000006528ms] ===== beg mem usr function =====
[000006532ms] begin to init mutilcore: 222
[000006536ms] start BSP_ICC_Init
[000006539ms] g_pstIccCtrlChan = 0xf2fc02c0
[000007098ms] ##### icc init success!, cnt=1971, connet=1
[000007103ms] end BSP_ICC_Init
[000007106ms] begin to init mutilcore: 333
[000007110ms] begin to init mutilcore: 444
[000007113ms] BSP_MODU_IFCP
IFC Process init success!
[000008606ms] A:start icc cshell...
[000008609ms] cshell_icc_open success,cshell_udi_handle is 5898241
[000008615ms] free_ok
[000008617ms] the lcr_reg is 3
[000008620ms] pTemp is 0xc8a90000
[000008623ms] UDI_BUILD_DEV_ID is 0x300
[000008626ms] start NVM_Init
[000008629ms] MSP_IPC udi_open Start
[000009297ms] MSP_IPC udi_open End Handle = 5a0002
[000009715ms] end NVM_Init
[000009718ms] begin to init mutilcore: 555
[000009721ms] BCM43239_WIFI_Release: Entering...
[000009726ms] DRV_HSIC_Release: Entering ...

Actually there is like 1000 lines more log, but it's just Linux loading. Including in the log there are SSH-passwords for 2 users admin and user. They are exactly what sshusers.cfg will have after boot.

It will take couple of seconds for the bootloader to kick on the Android-side. The bootloader serial-data starts flowing in immediately, but this one sleeps a while and starts after that.

Side buttons exaplained

I have previously touched the subject of WiFi / Reset / WPS -buttons. Also I got a comment about un-bricking a s-22, but that didn't help me much. This is related to serial output in a sense, that pressing the buttons will have effect on the serial output.

Now that I have a clear view of what's happening at the box I'd like to take this opportunity of describing the three buttons' behaviour:

  • (device running normally) WiFi button pressed for over 1 second: WiFi on/off
    • no surprises there, you can do this from Web-GUI too
  • (device running normally) Reset button pressed for over 2 seconds: Factory reset
  • (device running normally) Reset button pressed for less than 2 seconds: no-operation
  • (device running normally) WPS button pressed: on/off
    • no surprises there, you can do this from Web-GUI too
  • (device running normally) WiFi and WPS buttons pressed: no special functionality, will toggle WiFi and WPS as they would be pressed separately
  • (device running normally) WiFi, Reset, WPS buttons pressed: no special functionality
  • (device not powered) WiFi button pressed while powering on: baseband (VxWorks) serial console displays Android console briefly and stops
    • Linux-side serial console will be completely silent
  • (device not powered) WPS button pressed while powering on: no-operation
  • (device not powered) Reset button pressed while powering on: no-operation
  • (device not powered) WiFi and WPS buttons pressed while powering on: enter bootloader menu
  • (device not powered) WiFi, Reset and WPS buttons pressed while powering on: enter bootloader menu

If you have other suggestions about the buttons, please drop me a comment.

The Cheapest Laptop - Worth Anything? Lenovo G50 Reviewed

$
0
0

I've been a hacker pretty much all my life. It has been an exciting ride so far, as computers have improved so much ever since I got my first one. If setting my first computer as a reference point, the processors are almost infinetly more powerful (not infinetly, but a lot!), there is million million times more storage and the most important thing: all computers are capable of connecting to a network. I wouldn't mind having my first computer with it's processing power and store, but with an Internet-connection. Lastly, they cost a fraction of that. As I typically have top-shelf computer at my use, I was happy to see what's bottom shelf material made of.

A Lenovo G50 is your average supermarket "now on sale" -computer. It's target audience is definitely not me, but people who don't want to spend much on a computer, but as everybody, they need one.

After the price point (paid 249,- €), the sales pitch is pretty much this:
You get an 1" thick laptop with easy recovery option, a keyboard and USB 3.0 and Dolby Digital Plus Advanced Audio. Obvious marketing talk, as the parts I do understand are 1" thick machine with USB 3.0. Rest is more or less nonsense. Anyway, it looks like this:

And no, it is not 1" thick:

My measurement shows 26mm + change. But pretty good still. This is the cheapest you can buy.

Connectivity is pretty much what you'd expect:

Analog VGA, HDMi, two USB 2.0s, one USB 3.0, RJ-45 for ethernet and an SD-card reader. All useful and necessary (I'm not so sure about the SD-card reader, who uses those anyway). With the power connector they went for the W700 rectangular one, it suits better with the slim models:

The keyboard has a numpad built-in:

And then there is the cool Dolby-logo:
With this price, I'd by anything with a Dolby-logo in it! :-) I truly don't know what the Dolby stands for here. My only guess is, that its simply a marketing gimmick.

When kicked into action, the computer looks like this:
The operating system is Windows 8.1. One of the first things it needed was the Start-button. My choice has been Classic Shell. With that any Windows 8 -variant will be made useful again.

As you can see, there is lot of un-installing to do. One of the things I did un-install was the handy recovery tool mentioned in the advertisement. It didn't look convincing to me. While doing the un-installs, I saw something familiar in the list:
Oh, this model has the spyware Superfish installed. I went for the removal tool:
It was a PR-disaster for Lenovo. They were clueless what they bundled with people's computers.

The hardware in this laptop is what you'd expect. Cheap.
The problem isn't CPU or GPU in this case. Even 8 GiB of RAM will never run out, when surfing the web. The problem is slow drive. There is a terabyte of space, but the drive is sooo slow. Pretty much everything I use has an SSD, so getting back to the cheapest spinning platter didn't do me any good.

As a conclusion:

Answer to the question "Is it worth anything?" Yes. Definitely it is.

This is not for serious computing needs, but absolutely worth every penny (cent) for not-so-serious computing needs. Also suitable as secondary equipment for more serious nerds.

Doing fiber installations

$
0
0

Year and half ago I wrote about my new super-fast Internet-connection. Since in this area the fiber-connections are installed to all buildings regardless you're going to use it or not, I had a possibility to start using also the second one. As the connection was already there, all my telco had to do was send the cable guy to install a fiber to copper media converter.

Or, so you'd think. The standard operating procedure seems to be to ship out needed hardware from the telco's central warehouse to me and eventually the cable guy would arrive and do the setup. The sales guy failed to mention this procedure to me. I received a shipment of my brand new toys:

I just unboxed all the stuff and started studying how to do the installation myself. My own experience on the subject is highly limited. Whenever fiber-optics are involved, all the installations are done by trained professionals, not curious hackers like me. :-)

Anyway, this is the media converter a CTS (Connection Technology Systems, aka. Zyxel)  HET-3005:

Specs say:

  • Interface
    • LAN Port: 10/100/1000Base-T RJ-45 x 4
      WAN Port: 1000Base-X x 1 or 10/100/1000Base-T x 1
  • Standards
    • IEEE 802.3 10Base-T
    • IEEE 802.3u 100Base-TX/FX
    • IEEE 802.3ab 1000Base-T
    • IEEE 802.3z 1000Base-X
    • IEEE 802.3x Flow Control

According to manual, a HET-3005 comes in multiple versions. Mine is a model: HET-3005W2A(SM-10/20)-DR, it has following ports in it:

  • Fiber Port
    • Speed: 1000
    • Type: WDM
    • Connector: SC
    • Distance: 10/20KM
    • Ports: 1
  • TP Port
    • Speed: 10/100/1000
    • Ports: 4

 

In the fiber-world it seems, that connectors are always inside the box, of course I had to pop the hood:

On top of the pic, there is a fiber connector (a SC-connector, I guess):

It mentions following details:

  • Dual rate
  • Single mode, 10 km
  • TX/RX: 1310/1550 nm

When studying Gigabit Ethernet, the only possible ones are:

  • 1000BASE-LX10
    • Single-mode fiber using 1310 nm wavelength    10 km
  • 1000BASE-BX10
    • Single-mode fiber, over single-strand fiber: 1490 nm downstream 1310 nm upstream    10 km

For obvious reasons of not having dual-rate in it, LX10 goes out. However in BX10, it's funny how specs mention downstream to be 1490 nm, but the equipment has 1550 nm.

So, only with the box, there isn't much to do. Luckily they kinda knew it and in the box there was a suitable patch cable:

The ends are different. I don't know why, but studying the Wikipedia article about Optical fiber connector says, that IEC 61754-4 defines a SC-connector. A careful analysis of it revealed, that the square one wasn't a match for the HET-3005. The wider one with non-square form fits in nicely:

Now I'll need to figure out what to do with the other end. I went to study the connections. A following box with obvious incoming fiber-optic cable rising from the ground was attached to a wall:

Sure thing, I popped the hood on that to see what it had eaten:

At the lower left hand corner, there is a black cable incoming. The cable guy stripped it and exposed the single-mode fibers in it (two of them) and welded them into the fiber of the blue connector. The welds have been properly covered with some sort of shink-wrap and can be seen in the yellow cable holder. Since the black box was a dead end, it had no electrical parts in it, my next focus was the blue connector at the bottom of the box:

That red connector had a fiber running to a box converting fiber to a DVB-C -signal and distributing that on a 75 Ωcoaxial cablefor TV-signal distribution into my house. However, the right connector was free. I simply had to try it:

Yep! A nice fit. The more important thing was, that it made my media converter box to indicate a functioning WAN-signal.

Just to confirm the SC-connector, I went back to pictures of my Inteno FG500, it had:

But that's inside the box, it has dual-purpose functionality of doing TV-signal and ethernet in two halves of the same unit.

After couple of days me finishing the install, the cable guy called in and wanted to come do the setup. I just told him that's its all done and ready. :-)

Huawei E5186 RS-232 pins explained

$
0
0

For the 2nd time, I got an E5186 loaner (post about the 1st time here). This time with permission to take a closer look inside.

Since this one had already RS-232 wires soldered, I took them for closer inspection. Un-boxing is exactly like in B593, 3 PH-2 screws holding the cover in place. Two at the bottom of the unit (one covered with a warranty paper) and one screw at the back between LTE-antennas.

Layout

After popping the cork, the board's flipside looks like this:

In this unit, there is no need to pry open none of the 4  shiny ESD covers. All the good stuff is on the other side. Again, 4 PH-2 screws holding the board in place.

Board, right side up:

In this case, the obvious clue for me was the already soldered RS-232 wires. I'm also publishing another picture by KOSH, a LTEforum.at activist, describing some of the good parts an E5186 board has:

There are 2 of: LTE/UMTS antennas on top corners, 5 GHz WLAN antennas at the sides and 2,4 GHz WLAN antennas on the bottom corners. The picture doesn't point out the locations of RS-232 pins, only the ground and Vcc pins.

Linux

A closer look of the Linux side pins right next to the SIM-slot:

No surprises there, the signal levels of RS-232 were 1,8 volts. It means, that an expensive USB-RS232 adapter is rquired for access. Your run-of-the-mill cheap 3,3 volt adapters are completely useless for this.

The descripions of RX/TX are from the point of the router (DCE), not from your computer (that would be DTE). It means, that any output signal (TX or transmit) described in the picture should be connected to input of the computer (RX or receive).

A bootup output of that port would be:

Digital core power voltage set to 0.9375V
Decompressing...done


CFE version 6.37.14.34 (r415984) based on BBP 1.0.37 for BCM947XX (32bit,SP,)
Build Date: Sat Jun 13 09:28:20 CST 2015 (l00285057@MBB-V7R1-CPE)
Copyright (C) 2000-2008 Broadcom Corporation.

Init Arena,cfe repair version
Config GPIOs.
Init Devs.
Boot partition size = 262144(0x40000)
flash_init: bootsz = [0x80000]
add new online part !!!!!!!!
flash_init:flash_size:[0x8000000][0x2000000|33554432]
DDR Clock: 400 MHz
Info: DDR frequency set from clkfreq=800,*400*
et0: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller 6.37.14.34 (r415984)
CPU type 0x0: 800MHz
Tot mem: 131072 KBytes

CFE mem: 0x00F00000 - 0x010AC8E4 (1755364)
Data: 0x00F646F0 - 0x00F65184 (2708)
BSS: 0x00F65190 - 0x00FAA8E4 (284500)
Heap: 0x00FAA8E4 - 0x010AA8E4 (1048576)
Stack: 0x010AA8E4 - 0x010AC8E4 (8192)
Text: 0x00F00000 - 0x00F55E40 (351808)

Device eth0: hwaddr 00-90-4C-0F-0F-00, ipaddr 192.168.1.1, mask 255.255.255.0
gateway not set, nameserver not set
not in router upgrade mode
Loader:raw Filesys:raw Dev:nflash0.os File: Options:(null)
Loading: ..... 5853216 bytes read
Entry at 0x00008000
Closing network.
Starting program at 0x00008000
[ 2.950000] console [ttyS0] enabled, bootconsole disabled
[ 2.950000] serial8250.0: ttyS1 at MMIO 0x18000400 (irq = 117) is a 16550
[ 2.960000] brd: module loaded
[ 2.970000] loop: module loaded
[ 2.970000] [CHIP_COMM] LINE:849: [client] socket send fail!
[ 2.980000] DRV_RHPC: Detect Modem fail with 0x1, run startup status detection thread!!
[ 2.990000] Platform Driver Remote Host Procedure Call init.
[ 2.990000] Enter ecall init
[ 3.000000] Finish ecall init
[ 3.000000] tsk:kthread_run is success!
[ 3.000000] SCSI Media Changer driver v0.25
[ 3.010000] pflash: found no supported devices
[ 3.020000] bcmsflash: found no supported devices
[ 3.070000] Boot partition size = 524288(0x80000)
[ 3.080000] lookup_nflash_rootfs_offset: offset = 0x200000
[ 3.080000] nflash: squash filesystem with lzma found at block 35
[ 3.090000] Creating 4 MTD partitions on "nflash":
[ 3.090000] 0x000000000000-0x000000080000 : "boot"
[ 3.100000] 0x000000080000-0x000000200000 : "nvram"
[ 3.110000] 0x000000200000-0x000002a00000 : "linux"
[ 3.110000] 0x0000004600f8-0x000002a00000 : "rootfs"
[ 3.120000] PPP generic driver version 2.4.2
[ 3.120000] PPP Deflate Compression module registered
[ 3.130000] PPP BSD Compression module registered
[ 3.130000] PPP MPPE Compression module registered
[ 3.140000] NET: Registered protocol family 24
[ 3.140000] SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256).
[ 3.150000] usbmon: debugfs is not available
[ 3.150000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 3.160000] ehci_hcd 0000:00:0b.1: EHCI Host Controller
[ 3.170000] ehci_hcd 0000:00:0b.1: new USB bus registered, assigned bus number 1
[ 3.210000] ehci_hcd 0000:00:0b.1: irq 111, io mem 0x18021000
[ 3.230000] ehci_hcd 0000:00:0b.1: USB 0.0 started, EHCI 1.00
[ 3.230000] hub 1-0:1.0: USB hub found
[ 3.240000] hub 1-0:1.0: 2 ports detected
[ 3.240000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 3.250000] ohci_hcd 0000:00:0b.0: OHCI Host Controller
[ 3.250000] ohci_hcd 0000:00:0b.0: new USB bus registered, assigned bus number 2
[ 3.260000] ohci_hcd 0000:00:0b.0: irq 111, io mem 0x18022000
[ 3.320000] hub 2-0:1.0: USB hub found
[ 3.320000] hub 2-0:1.0: 2 ports detected
[ 3.330000] xhci_hcd 0000:00:0c.0: xHCI Host Controller
[ 3.330000] xhci_hcd 0000:00:0c.0: new USB bus registered, assigned bus number 3
[ 3.340000] xhci_hcd 0000:00:0c.0: irq 112, io mem 0x18023000
[ 3.350000] xhci_hcd 0000:00:0c.0: Failed to enable MSI-X
[ 3.350000] xhci_hcd 0000:00:0c.0: failed to allocate MSI entry
[ 3.360000] usb usb3: No SuperSpeed endpoint companion for config 1 interface 0 altsetting 0 ep 129: using minimum values
[ 3.370000] xHCI xhci_add_endpoint called for root hub
[ 3.380000] xHCI xhci_check_bandwidth called for root hub
[ 3.380000] hub 3-0:1.0: USB hub found
[ 3.390000] hub 3-0:1.0: 1 port detected
[ 3.390000] usbcore: registered new interface driver cdc_acm
[ 3.400000] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
[ 3.410000] usbcore: registered new interface driver usblp
[ 3.410000] Initializing USB Mass Storage driver...
[ 3.420000] usbcore: registered new interface driver usb-storage
[ 3.420000] USB Mass Storage support registered.
[ 3.430000] usbcore: registered new interface driver usbserial
[ 3.430000] USB Serial support registered for generic
[ 3.440000] usbcore: registered new interface driver usbserial_generic
[ 3.450000] usbserial: USB Serial Driver core
[ 3.450000] USB Serial support registered for GSM modem (1-port)
[ 3.460000] usbcore: registered new interface driver option
[ 3.460000] option: v0.7.2:USB Driver for GSM modems
[ 3.470000] USB Serial support registered for pl2303
[ 3.470000] usbcore: registered new interface driver pl2303
[ 3.480000] pl2303: Prolific PL2303 USB to serial adaptor driver
[ 3.480000] u32 classifier
[ 3.490000] Performance counters on
[ 3.490000] Actions configured
[ 3.490000] Netfilter messages via NETLINK v0.30.
[ 3.500000] nf_conntrack version 0.5.0 (1935 buckets, 7740 max)
[ 3.510000] ctnetlink v0.93: registering with nfnetlink.
[ 3.510000] nf_conntrack_rtsp v0.6.21 loading
[ 3.520000] xt_time: kernel timezone is -0000
[ 3.520000] IPVS: Registered protocols ()
[ 3.520000] IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
[ 3.530000] IPVS: ipvs loaded.
[ 3.530000] IPv4 over IPv4 tunneling driver
[ 3.540000] nf_nat_rtsp v0.6.21 loading
[ 3.540000] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 3.550000] arp_tables: (C) 2002 David S. Miller
[ 3.550000] TCP cubic registered
[ 3.560000] NET: Registered protocol family 10
[ 3.560000] lo: Disabled Privacy Extensions
[ 3.570000] tunl0: Disabled Privacy Extensions
[ 3.570000] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 3.580000] IPv6 over IPv4 tunneling driver
[ 3.580000] sit0: Disabled Privacy Extensions
[ 3.590000] ip6tnl0: Disabled Privacy Extensions
[ 3.590000] NET: Registered protocol family 17
[ 3.600000] Bridge firewalling registered
[ 3.600000] Ebtables v2.0 registered
[ 3.600000] L2TP core driver, V2.0
[ 3.610000] PPPoL2TP kernel driver, V2.0
[ 3.610000] 802.1Q VLAN Support v1.8 Ben Greear
[ 3.620000] All bugs added by David S. Miller
[ 3.640000] Northstar brcmnand NAND Flash Controller driver, Version 0.1 (c) Broadcom Inc. 2012
[ 3.650000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xf1 (Micron NAND 128MiB 3,3V 8-bit)
[ 3.660000] Spare area=64 eccbytes 56, ecc bytes located at:
[ 3.660000] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 18 19 20 21 22 23 24 25 26 27 28 29 30 31 34 35 36 37 38 39 40 41 42 43 44 45 46 47 50 51 52 53 54 55 56 57 58 59 60 61 62 63
[ 3.680000] Available 7 bytes at (off,len):
[ 3.680000] (1,1) (16,2) (32,2) (48,2) (0,0) (0,0) (0,0) (0,0)
[ 3.690000] Scanning device for bad blocks
[ 3.780000] Options: NO_AUTOINCR,NO_READRDY,BBT_SCAN2NDPAGE,
[ 3.790000] Creating 5 MTD partitions on "brcmnand":
[ 3.790000] 0x000002a00000-0x000003e00000 : "userdata"
[ 3.800000] 0x000003e00000-0x000005200000 : "app"
[ 3.800000] 0x000005200000-0x000005c00000 : "webui"
[ 3.810000] 0x000005c00000-0x000006000000 : "online"
[ 3.810000] 0x000006000000-0x000008000000 : "upg"
[ 3.830000] VFS: Mounted root (squashfs filesystem) readonly on device 31:3.
[ 3.840000] devtmpfs: mounted
[ 3.840000] Freeing init memory: 236K
/sbin/hotplug2: No such file or directory
insmod: ipv6.ko: no module by that name found
insmod: cannot insert '/lib/modules/2.6.36.4brcmarm+/kernel/drivers/net/igs/igs.ko': Operation not permitted (-1): Operation not permitted
hotplug detected product: 12d1/1443/1
hotplug detected product: 12d1/1443/1
insmod: bcm57xx.ko: no module by that name found
boardflags:100

That looks a lot like a B593-s22 booting. A 2.6.36 Linux there running on a 32-bit BCM947XX chip.

LTE

The other RS-232 port has following pins:

It outputs something like this on a boot:

onchip
NF boot!
UnSec_boo Wä123
sec disable
456

[0000005ms]
[0000005ms]
[0000005ms]*********************************************************
[0000006ms]FASTBOOT simple console, enter 'help' for commands help.
[0000006ms]*********************************************************
[0000006ms]balong_version_get_hw_version doesn't judge udp!
[0000007ms]balong_version_get_hw_version: HARDID = 0X00040000
[0000007ms]Hisilicon NANDC_V6.00 initialize...

[0000007ms]NAND device: Manufacturer ID: 0x000000ad, Chip ID: 0x000000ac (Hynix NAND 512MiB 1,8V 8-bit)
[0000008ms]Partition Table list(HEX):ptable 1.00HI6930_V7R2_MCPEm3boot
[0000008ms]NO. |offset |loadsize |capacity |loadaddr |entry |property |count |id |name |
[0000009ms]------------------------------------------------
[000000Ams]00000001: 00000000 ,00000000 ,00040000 ,00000000 ,00000000 ,00004000 ,00000000 ,00000101 ,m3boot
[000000Ams]00000002: 00040000 ,00000000 ,001c0000 ,4fe00000 ,4fe00000 ,00004000 ,00000000 ,00000102 ,fastboot
[000000Bms]00000003: 00200000 ,00000000 ,00200000 ,00000000 ,00000000 ,00004800 ,00000000 ,00000103 ,nvbacklte
[000000Cms]00000004: 00400000 ,00000000 ,00400000 ,00000000 ,00000000 ,00004000 ,00000000 ,00000104 ,nvimg
[000000Cms]00000005: 00800000 ,00000000 ,00400000 ,00000000 ,00000000 ,00004000 ,00000000 ,00000105 ,nvdload
[000000Dms]00000006: 00c00000 ,00000000 ,00200000 ,00000000 ,00000000 ,00004000 ,00000000 ,00000106 ,nvdefault
[000000Ems]00000007: 00e00000 ,00000000 ,00400000 ,00000000 ,00000000 ,00004000 ,00000000 ,0000010d ,oeminfo
[000000Ems]00000008: 01200000 ,00000000 ,0be00000 ,00000000 ,00000000 ,00004001 ,00000000 ,00000116 ,online
[000000Fms]00000009: 0d000000 ,00000000 ,00800000 ,4ffc0000 ,4ffc0000 ,00004000 ,00000000 ,00000107 ,kernel
[0000010ms]0000000a: 0d800000 ,00000000 ,00800000 ,4ffc0000 ,4ffc0000 ,00004000 ,00000000 ,00000108 ,kernelbk
[0000010ms]0000000b: 0e000000 ,00000000 ,00200000 ,00000000 ,00000000 ,00004000 ,00000000 ,00000109 ,m3image
[0000011ms]0000000c: 0e200000 ,00000000 ,00600000 ,00000000 ,00000000 ,00004000 ,00000000 ,0000010b ,dsp
[0000011ms]0000000d: 0e800000 ,00000000 ,00200000 ,00000000 ,00000000 ,00004000 ,00000000 ,0000011b ,misc
[0000012ms]0000000e: 0ea00000 ,00000000 ,02800000 ,50d10000 ,50d10000 ,00004000 ,00000000 ,0000010a ,vxworks
[0000013ms]0000000f: 11200000 ,00000000 ,00100000 ,00000000 ,00000000 ,00004000 ,00000000 ,00000112 ,wbdata
[0000013ms]00000010: 11300000 ,00000000 ,00100000 ,00000000 ,00000000 ,00004000 ,00000000 ,00000113 ,reserve2
[0000014ms]00000011: 11400000 ,00000000 ,00300000 ,00000000 ,00000000 ,00004001 ,00000000 ,00000114 ,reserve3
[0000015ms]00000012: 11700000 ,00000000 ,00c00000 ,00000000 ,00000000 ,00004001 ,00000000 ,0000010f ,om
[0000015ms]00000013: 12300000 ,00000000 ,0ad00000 ,00000000 ,00000000 ,00004001 ,00000000 ,0000010e ,system
[0000016ms]00000014: 1d000000 ,00000000 ,02d00000 ,00000000 ,00000000 ,00004001 ,00000000 ,00000117 ,cdromiso
[0000017ms]00000015: 1fd00000 ,00000000 ,00280000 ,00000000 ,00000000 ,00004000 ,00000000 ,00000118 ,cache
[0000017ms]00000016: 1ff80000 ,00000000 ,00040000 ,00000000 ,00000000 ,00004000 ,00000000 ,00000119 ,recovery-a
[0000018ms]00000017: 1ffc0000 ,00000000 ,00040000 ,00000000 ,00000000 ,00004000 ,00000000 ,0000011a ,recovery-b
[0000019ms]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[0000019ms]fastboot: nv dload cap is 0x00400000.
[000001Ams]fastboot: dload nv invlv_blk_num:7, total_blk_num:32!
[000001Ams]fastboot: dload nv skip total bad blk:0!
[000001Bms]warning: end page size not aligned :addr_logic:0x008e5000,blockleft:0x00000104
[0000025ms]nv boot init ok!
[0000026ms][tsensor]: tsensor init ok!
[0000026ms]board_init ok
[0000028ms]USB FastBoot: V0.9
[0000028ms]Machine ID: 3339 v0
[0000028ms]Build Date: Jun 13 2015, 09:54:53
[0000028ms]
[0000028ms]Serial Number: UNKNOWN
[0000028ms]
[0000028ms]Heap:0x5fd3c220 -- 0x5fd3c860, 1600
[0000029ms][pmu]: volt_id 35's voltage can not be set!
[0000029ms]
[0000029ms][pmu]: volt_id 39's voltage can not be set!
[000002Ams]
[000002Ams]Please distribute uart with command L/V/M...
[000002Ams] heap:0x5fd3c220 -- 0x5fd3c860, 1600
[000002Ams]OCR_AUTO_ENUM_FLAG_ADDR = 4fe1fff8 flag =eab35f51 !
[000002Bms]

[000002Bms] [ ON OFF ] Start up by Cold Reset!,reboot_cmd=0x90a7b368.

[000002Bms]balong_version_get_hw_version doesn't judge udp!
[000002Cms]balong_version_get_hw_version: HARDID = 0X00040000
[000002Cms]balong_version_get_hw_version doesn't judge udp!
[000002Cms]balong_version_get_hw_version: HARDID = 0X00040000
[000002Dms][fastboot]: boot_mode 1
[000002Dms]boot m3image from flash
[000002Dms]ptn:5fd36bbc , ptn->start = 0e000000 ptn->length = 00200000
[000002Dms]ptn:5fd36bbc , ptn->loadaddr = 00000000 ptn->entry = 00000000
[000002Ems]warning: end page size not aligned :addr_logic:0x0e00b000,blockleft:0x000003a8
[000002Fms]boot linux from flash

I don't think this side boots properly, so the output has only HiSiliconNAND-flash and HynixDRAM mentioned.

Finally

I didn't manage to get any kind of console or prompt. There are couple of points where the Linux-side says "Press Enter to continue...", but event that didn't work. To me, it looks like the unit is not taking any input.

If you have any further information, please drop a comment below.


Huawei E5186 Firmware Upgrade with Multicast Upgrade Tool

$
0
0

Typical firmware upgrade for any entwork applicance is done via web-interface. The obvious catch in that is, that you need to authenticate, move to a suitable page and upload a file to accomplish that. In rare cases, hardware has an "upgrade mode", which allows you to inject a new firmare to the device without any proper authentication. For hacking, this opens a completely new avenue. If one could modify a firmware (and sign it), it would be possible to unlock locked devices, unlock features, or introduce new functionality.

Getting the box to the upgrade mode sounds easy:
turn power off from the device, keep WPS and Wi-Fi buttons pressed, kick on the power and at a suitable time release the Wi-Fi button. Then normal boot process is stopped and the box will wait for a firmware file to be delivered to it. In reality, it's bit tricky. Possible to do, but bit tricky.

Prerequisites

To get the upgrade rolling you'll need following things:

  • Huawei E5186s-22a router
  • A computer running Windows 7, 8 or 10
    • Administrator permissions for changing TCP/IP settings is required
  • An ethernet cable to connect the computer to the router's LAN-port
  • A firmware file to upload, filename will be something like BV7R2C0update_<version number>.gz.bin
  • Multicast Upgrade Tool
    • This is not publicly available file
    • Tool's filename is multicast_upgrade_tool.exe, 3354624 bytes
    • The one I got was packaged into multicast.rar, 1040927 bytes.
    • SHA-256 sum of multicast_upgrade_tool.exe is 6224fe8fb0ec628a29ade1d7d5fb2db5183bfd43486037d0cdf8c363e8ed8eca
  • WinRar packing utility from http://www.win-rar.com/ installed and working on your Windows

Setup

This is what my setup looks like:

I didn't have any switches or any other network appliance there, I just hooked the other end of the cable to my laptop and one end to the router. (The Kabuto car in the bottom corner is optional :-) )

Next thing you'll need to confirm is your firewall software (or Windows built in one). Depending on what you have it may not allow the outgoing traffic.

The definition of upgrade traffic profile is as follows:

It is UDP, both initiator and responder are at port 13456. The obvious thing that you need to notice is, that traffic is multicast.

My firewall rule is:

Make sure you'll allow outgoing traffic to multicast address 224.0.0.119. For any layman, that looks like just another IP-address, but it isn't  one. It is in multicast address range and will be handled differently by TCP/IP-stack.

As all you TCP/IP savvy people know, multicast works no matter what your computer's IP-address is. That being said, I still recommend you change the computer's IP-address to network 192.168.8/24 which is used by the E5186. It is done from control panel (the screen shots are from Windows 10):

I didn't bother setting up any DNS-servers there. It will work without. The value of 192.168.8.100 is recommended by Huawei manual, so I used that.

Final setup thing is to make sure your Multicast Upgrade Tool can access WinRAR. On startup this will happen:

Just point the file selector to your already installed WinRAR:

That's it. That will do for the setup.

Update

Now this is the time to start practicing the upgrade mode -switch on power up.

First the normal, non-interrupt bootup sequence. It will look like this on your LEDs:

Serial console logs indicate, that you'll have 0,850 seconds from power-on to words "not in router upgrade mode" to be logged. So, I strongly suggest, that you'll keeps WPS and Wi-Fi buttons when you flip the power switch.

Your window-of-opportunity to release the Wi-Fi -button is between 0,850 and 1,890 seconds from power-on. If you release earlier, it's same as not pressing them at all. If you'll press them longer, you'll get the phrase "not in router upgrade mode" to the log, meaning that you failed.

This is what a success will look like:

If your blue LED keeps lit, like this:
Then everything is still ok. I cannot reproduce that every time, but I successfully updated firmwares with that status also. The idea is, that the blue LED keeps lit.

In that state the router is expecting you to start sending the file:

When you're successfully sending, the LEDs will indicate it:
The Wi-Fi LED will blink. It will go off once a while, but don't worry about it.

You can monitor the number of times, the file has been sent:

The entire upgrade can take like 10 minutes and you'll be transferring the file any number of times. Once I had to transfer it 11 times, before E5186 got all the bits of it.

Don't lose hope here!

Completing update

When your upgrade is completed and you're ready to power off the router, LEDs will look like this:
The Wi-Fi LED will go on and off slowly. It will keep doing that forever or until you power of the unit, whichever comes first.

Now you're done! :-)

Go ahead kick the power back on and see how it went.

Temperature measurement limits of La Crosse WS2357

$
0
0

Guess what happens right before hell freezes over? Your weather station indicates dew point of 136 °C. :-) Kinda funny.

Good thing that Weather Underground allows you to edit by removing data points. So, there are couple gaps in my graphs now:

The reson for this weird behaviour can be found from the spec:

OMG! The lower bound of outside temperature measurement is -29.9 °C. In Finland that can be reached occasionally.

Fortunately I'm using open source software, Open2300. With very little debugging I found the code:

double temperature_outdoor(WEATHERSTATION ws2300, int temperature_conv)
...
return ((((data[1] >> 4) * 10 + (data[1] & 0xF) +
          (data[0] >> 4) / 10.0 + (data[0] & 0xF) / 100.0) - 30.0));

double dewpoint(WEATHERSTATION ws2300, int temperature_conv)

...
return ((((data[1] >> 4) * 10 + (data[1] & 0xF) +
          (data[0] >> 4) / 10.0 + (data[0] & 0xF) / 100.0) - 30.0));

There is a formula to convert raw data read from RS-232 -line to celsius.

My patch to fix this is:

--- svn/rw2300.h 2015-01-19 23:42:17.728311172 +0200
+++ JaTu/rw2300.h 2016-02-04 23:58:45.675123710 +0200
@@ -24,6 +24,7 @@
 #include <math.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <float.h>

 #define MAXRETRIES 50
 #define MAXWINDRETRIES 20
@@ -56,6 +57,8 @@

 #define MAX_APRS_HOSTS 6

+#define TEMPERATURE_OVERFLOW FLT_MIN
+
 typedef struct {
        char name[50];
        int port;
--- svn/wu2300.c 2015-01-19 23:42:16.619287028 +0200
+++ JaTu/wu2300.c 2016-01-18 10:13:21.252092414 +0200
@@ -53,15 +53,18 @@
 
 
    /* READ TEMPERATURE OUTDOOR - deg F for Weather Underground */
-
-   sprintf(tempstring, "&tempf=%.2f", temperature_outdoor(ws2300, FAHRENHEIT) );
-   strcat(urlline, tempstring);
-
+    tempfloat = temperature_outdoor(ws2300, FAHRENHEIT);
+    if (tempfloat > TEMPERATURE_OVERFLOW) {
+        sprintf(tempstring, "&tempf=%.2f", tempfloat );
+        strcat(urlline, tempstring);
+    }
 
    /* READ DEWPOINT - deg F for Weather Underground*/
-   
-   sprintf(tempstring, "&dewptf=%.2f", dewpoint(ws2300, FAHRENHEIT) );
-   strcat(urlline, tempstring);
+   tempfloat = dewpoint(ws2300, FAHRENHEIT);
+    if (tempfloat > TEMPERATURE_OVERFLOW) {
+        sprintf(tempstring, "&dewptf=%.2f", tempfloat );
+        strcat(urlline, tempstring);
+    }
 
 
    /* READ RELATIVE HUMIDITY OUTDOOR */
--- svn/fetch2300.c 2015-01-19 23:42:17.728311172 +0200
+++ JaTu/fetch2300.c 2016-01-18 10:09:46.762108076 +0200
@@ -35,7 +35,7 @@
    char tendency[15];
    char forecast[15];
    struct config_type config;
-   double tempfloat_min, tempfloat_max;
+   double tempfloat, tempfloat_min, tempfloat_max;
    int tempint, tempint_min, tempint_max;
    struct timestamp time_min, time_max;
    time_t basictime;
@@ -63,7 +63,11 @@
 
    /* READ TEMPERATURE OUTDOOR */
 
-   sprintf(tempstring, "To %.1f\n", temperature_outdoor(ws2300, config.temperature_conv) );
+    tempfloat = temperature_outdoor(ws2300, config.temperature_conv);
+    if (tempfloat == TEMPERATURE_OVERFLOW)
+        sprintf(tempstring, "To OVR\n");
+    else
+        sprintf(tempstring, "To %.1f\n", tempfloat);
    strcat(logline, tempstring);
 
    temperature_outdoor_minmax(ws2300, config.temperature_conv, &tempfloat_min,
@@ -79,8 +83,11 @@
 
 
    /* READ DEWPOINT */
-
-   sprintf(tempstring, "DP %.1f\n", dewpoint(ws2300, config.temperature_conv) );
+    tempfloat = dewpoint(ws2300, config.temperature_conv);
+    if (tempfloat == TEMPERATURE_OVERFLOW)
+        sprintf(tempstring, "DP OVR\n");
+    else
+        sprintf(tempstring, "DP %.1f\n", tempfloat );
    strcat(logline, tempstring);
 
    dewpoint_minmax(ws2300, config.temperature_conv, &tempfloat_min,

There I introduce a hard-limit of  TEMPERATURE_OVERFLOW and check if that has been reached. If yes, the invalid value is not sent to WUnderground.

I've contacted the author of Open2300 about this, but haven't received a response.

Huawei E5577 quick test

$
0
0

I had a chance to see what an E5577 is about. I don't own this, so I didn't break it apart. A Huawei E5577 is your run-of-the-mill Android-based 4G/3G/2G to Wi-Fi router. It even looks like a cell phone:

Huawei E5577 Specifications

Threre are some specs:

  • LTE Category 4 Mobile Hotspot
  • Freqencies supported:
    • LTE: 2600/ 1800/ 800 MHz
    • DC-HSPA+/ HSPA+/ UMTS: 2100/ 900 MHz
    • GSM/ GPRS/ EDGE: 1900/ 1800/ 900/ 850 MHz
  • Maximum transfer rates supported (DL = download, UL = upload):
    • 4G LTE:
          DL: 150 Mbit/s
          UL: 50 Mbit/s
    • 3G Dual Carrier:
          DL: 42 Mbit/s
          UL: 5,76 Mbit/s
    • 3G HSDPA:
          DL: 14,4 Mbit/s
          UL: 5,76 Mbit/s
  • Standard 6-pin SIM card interface
  • Display: 1.45'' TFT LCD
  • Startup time: 5s
  • Dimensions: 96.8 mm x 58.0 mm x 17.3 mm
  • Weight: 110g
  • Micro SD Card slot
  • Support external antenna: TS9 external antenna
  • WiFi IEEE 802.11b/g/n
    • Up to 10 users

IMEI info @ imei.info has:

  • Model: E5577CS-321
  • Brand: HUAWEI
  • IMEI: TAC: 867262 FAC: 02

On the outside

Enough specs, let's look at the thing a bit closer. On the front, there is a small LCD-screen and a power button. On the bottom edge, there are couple of connectors:

Charger is (per Chinese standard) an USB-connector. Micro-a to be specific. Under the flip-cover, there are two TS9-connectors for optional external antennas. Two, as LTE MIMO requires.

On the top side of the router, there is a button:

That button is used with power-button (when power is already on), to navigate the screen menu:

Doing an even remote usable UI with two buttons only is ... :-) stupid? impossible? ... erhm... difficult. But the obvious benefit is, that you can do at least some settings and see some information without logging into the thing. For non-Finnish readers, the menu says: Back (Takaisin), Device information (Laitteen tiedot) and Wi-Fi bandwidth (Wi-Fi kaista).

Normally, the screen has following status information:

In the inside

When back cover is popped, the thing looks like this under the hood:

The battery-pack is taking most of the space there. That's smart to put a 3 Ah Li-po battery for maximal usage time. When the battery is lifted, all the good stuff is visible:

On the top right corner, right next to the 4 battery pins, there is the SD-card slot. On an initial glance, it looks a lot like 2nd SIM-slot, but as you can see, there are 8 pins in a nice row. So, that's for SD-card. Below the empty SD-card slot, there is the 6-pin SIM -slot. It is already populated, as I was studying a router, which as actively used.

Web UI

Admin-interface is a Huawei classic http://192.168.8.1/

Since the WPA-password was clearly visible on the status screen, and this router is very easy to install to your home. Sales clerk had installed the SIM-card in the store, and at home you just kick the power on, and plug in the charger. That's very much a fire-and-forget thing. On my first login, I was greeted by:

Yes, the Huawei admin / admin -pair was in use there. Since, this wasn't mine, I didn't go change the password. Also the admin-console is only accessible from LAN-side, so it isn't that much of a security hole there.

In the main screen, very little surprises to anybody who has seen an E5186:

This unit was customized for TeliaSonera Finland and it has 3 languages to choose from: English, Swedish and Finnish.

Some firmware details:

The network settings were also exactly like an E5186:

At this point I was pretty sure, that an E5577 is just a miniature E5186.

The device details are:

As you can see, there are plenty of options to go change. I just didn't present all of them here. Very little interesting stuff there.

AJAX API

Since E5186 has a very good AJAX interface for the GUI, and this is just a miniature version of it. This had to have the same:

I even ran some queries just to test it:

/api/device/signal:
<pci>96</pci>
<sc></sc>
<cell_id>36657366</cell_id>
<rsrq>-7dB</rsrq>
<rsrp>-108dBm</rsrp>
<rssi>-79dBm</rssi>
<sinr>2dB</sinr>
<rscp></rscp>
<ecio></ecio>
<mode>7</mode>

Everything I threw at it returned exactly similar results, than E5186. Which of course is a very good thing.

Final words

This was a very pleasant exploration to a familiar device. I have really nothing negative to say about this router.

As I just pulled this from my article-queue, I had a chance to do some follow-up with the owner. She said, that it had been performing well and no issues had been encountered.

Earlier last year I was playing around with a ZTE MF910, which is a exact competitor for Huawei E5577. The MF910 isn't a robust box on a long run. Occasionally it loses the 4G-connection and requires some Tender/Love/Care to kick it back on-line. On my tests, it was an ok piece of plastic, but obviously non-computer users don't want to mess aroud with their hardware, they just want it to work when needed. The ZTE's box won't deliver on that.

Given a E5577 and MF910, having exactly the same price and all, my choice would be the Huawei.

Logitech MX Anywhere 2 - Best mouse ever?

$
0
0

Normally I wouldn't bother posting about a mouse, but this time I felt I had to. My previous laptop mouse broke. It was attached to one of the machines I use on daily basis and I worked perefectly for years. I don't know why the old Logitech simply refused to function no more. I did every trick I knew, but still no avail. I guess some cheap capacitor run out of its life there. So I had to go purhcase a new one.

In gaming (I do lot of FPS games), there is no substitute for a wired connection. But on a just surfin' or chatting lazily in the IRC, a wireless mouse does the trick more conveniently.

For those readers who are "whaaat! mouse? why would I want to use a mouse! so 90s!": I simply don't want to plough my finger on a plastic surface for hour every day. Not only my fingertips won't like it, but I find it just stupid. I've tried doing it, but trackpads aren't my thing. In fact I typically disable them, as me and many other touch typists like to rest my wrists exactly there where you other people love ploughing trough to simulate mouse movement. When I do that, mouse cursor starts wandering around when I'm typing. Not cool. So, no trackpads, but a real mouse. Actually, a pointing stick wedged between G, H and B -keys will work for me, but for example Apple doesn't do those for me.

There really aren't too many known manufcaturers in the mouse market anymore. Razer is in gaming business, and I already said, I wasn't going for a game mouse this time. You can make a choice between Logitech or somebody else whose name you either don't know or cannot pronounce. Logitech would like to move away from mouse business, but they are such a big player and making profit there, so I guess they really cannot do any sudden changes.

For a everyday use, Logitech has soooo many different models out there. Literally dozens and dozens. To narrow down my choices, I went immediately to the top-shelf material. Once I saw a wired USB-mouse being sold with 7,- € in a store. I had to get it, just for giggles. :-) It was as much of a 7 euro mouse you can imagine. The worst part is the ridicouls leds making the thing glowing like a chrismas tree. So, no more el-cheapo crap.

When I realized, that there actually exists a rechargeable mouse, I had to go for it. The press release even had superlatives like "Logitech Introduces its Most Advanced Portable Mouse". Ok, they're boasting the thing is good, so they kinda reeled me in. I had to check how advanced or how super the mouse is. The price is around 80,- €, which was in my budget.

It looks like this:

On the outside, it looks like your regular Logitech mouse. I wasn't that impressed with that.

This is the part, that locked down the sale:

It is your regular Micro-A USB connector. Very popular in today's USB-things.

When flipping the rodent over, there are couple of new things, I haven't seen earlier in mice:

There is your O/I switch, a connect-button when your mouse needs a hint, that it should try harder making the connection. My experience about that is, that it does absolutely nothing. Then there is the "darkfield" sensor, which should work on any surface. And finally the new thing: a selector button. Since this beast can do both Bluetooth and Logitech's own wireless signals, you can choose between 3 devices which this thing can control. Actually, I would love to use that feature, but in my daily usage I need to switch between computers fast. Fast, as in, not wanting to flip my mouse over and keep clicking a button to make a choice between the computer I want to start using. On another type of usage scenario, that may be useful.

The pico-sensor is pretty much the same we've seen for many years already:

As I said, you don't necessarily need to use that. The mouse has bi-functionality in it, your Bluetooth connection will do fine.

My experience about this thing is: Wow! Amazing!
Yes, it is that good. The accuracy is there, ergonomic is there, the new Darklight sensor does exellent job on my desk. The thing is so slippery at the bottom, I didn't want to use my mouse mat anymore. Obviously, on the minus side, the thing is so slippery at the bottom it will just slip over the edge of my laptop when carrying it from a room to another. (I guess couple of drops later it will stop functioning, just like my previous one did.) The scroll roll has dual functionality, with friction or frictionless, which is cool. We've seen that in many mice before this. In general, the implementation of this excellent plan is just there. The general look and feel is so good, I might even get a second one.

I went to the support site and got some software for OS X:

You get to see the 500 mAh Li-po charge state and change all kinds of settings. No frills, plain functionality there.

In conclusion: They get this right. It is the best mouse I've seen this far!

Cisco Systems security upgrades - Breaking the paywall

$
0
0

I own an operate a Cisco ASA firewall. I have written about it couple of times, here and here to list two of them.

The unit I have is a second hand one, which I got out of an auction. At the time I got it, a list price with that lincense type and RAM was around 900 €. Today you can get one with less than $500 from Amazon.com. Today, the model has been EoLd by manufacturer. The price and unit size makes it's intended to be used by small businesses and satellite offices, so you don't expect much to begin with.

However, Cisco doesn't see it that way. They see it as big deal. Literally. To get any software/firmware upgrades, you'll need a Smartnet service contract. I don't know what else one will cover, but with a valid service contract it is possible to download latest software. That's flat out stupid and annoying. Not to mention the fact, that it really sucks having an unit for the purpose of providing security, but without security upgrades. Without any further rocket surgery, that's beyond stupid. But there I am. I don't have a security contract and I am running one.

A while back I was reading security advisory cisco-sa-20160210-asa-ike and I realized this:

Customers Without Service Contracts

Customers who purchase directly from Cisco but do not hold a Cisco service contract and customers who make purchases through third-party vendors but are unsuccessful in obtaining fixed software through their point of sale should obtain upgrades by contacting the Cisco Technical Assistance Center (TAC):
http://www.cisco.com/en/US/support/tsd_cisco_worldwide_contacts.html

Customers should have the product serial number available and be prepared to provide the URL of this advisory as evidence of entitlement to a free upgrade.

Sure thing, I had to try. I sent an e-mail to Cisco TAC (that's short for Technical Assistance Center), explained the above case and asked for a firmware upgrade. After careful consideration and few follow-up questions later my Cisco account was awarded a right to download latest IOS and ASDM files. I installed them and rebooted. That's it.

There were couple of bonus hoops. Cisco's license for strong encryption software images is mighty good stuff. It's allowed to download such images only to Austria, Australia, Belgium, Canada, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Japan, Latvia, Lithuania, Luxembourg, Malta, Netherlands, New Zealand, Norway, Poland, Portugal, Slovakia, Slovenia, Spain, Sweden, Switzerland, United Kingdom and United States. Not a long list, that. Also, any person downloading the software must not be in any of the following lists: U.S. Department of Commerce's Table of Denial Orders, U.S. Department of Treasury, Office of Foreign Assets Controls (OFAC)'s Specially Designated Nationals List nor U.S. Department of State's Debarred List. I had to check, I'm not on any of those. :-)

As final words: Cisco seems to have some level of responsibility going on there. Their primary approach is to squeeze money for security upgrades. That's pretty much what Microsoft does for Windows XP. What I cannot comprehend is why a company doing 48.000.000.000 USD in revenue and having over 100.000.000.000 USD in assets according to their Annual Report 2014 needs to charge me money for basic security updates. If somebody manufactures any software equipment that's for Internet access, there needs to be a simple and swift process of keeping the stuff secure. They even acquired IronPort, the company running SpamCop, my favorite and really effective way of blocking spam. Now they're asking donations to run SpamCop. Why don't they make it a paid service or just shut it down. Asking for people's donations is humiliating for a multi billion dollar corporation.

What Cisco is doing, that's just greed! Not cool. :-(

Viewing all 142 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>