Active Topics

 


Poll: How much would you be willing to pay for a Neo900 (complete device) with TI DM3730 1GHz/512M-RAM/1GB
Poll Options
How much would you be willing to pay for a Neo900 (complete device) with TI DM3730 1GHz/512M-RAM/1GB

Reply
Thread Tools
Posts: 915 | Thanked: 3,209 times | Joined on Jan 2011 @ Germany
#2591
Originally Posted by joerg_rw View Post
PS: please note that >>Everything we need is a kernel that supports S2RAM.<< is NOT recommended approach for OMAP platforms, they have zeroclock and should never enter suspend state.
Is that an info that zeroclock should be preferred over S2RAM if feasible or a warning that S2RAM could be harmful to an OMAP device (as in: damages HW, triggers unexpected system behavior, but not reduced battery time compared to zeroclock)?

I seriously doubt that zeroclock would be feasible with a standard Debian userland. I guess you'll find some busyloop program on any Debian system with an X-server.
 

The Following User Says Thank You to sulu For This Useful Post:
joerg_rw's Avatar
Posts: 2,222 | Thanked: 12,651 times | Joined on Mar 2010 @ SOL 3
#2592
The former, "zeroclock is the preferred means". And that's what maemo is all about. Obviously "normal desktop" distros (and apps) don't worry at all about power consumption. Maemo does, see testing and development guidelines. And the allegedly poor battery life of N900 is merely from installing apps that are poorly tested and not obeying the basic rules. There been a few, particularly desktop applets. Usually installed from maemo-extras-devel, completely ignoring the warnings.
 

The Following 4 Users Say Thank You to joerg_rw For This Useful Post:
wicket's Avatar
Posts: 634 | Thanked: 3,266 times | Joined on May 2010 @ Colombia
#2593
Originally Posted by joerg_rw View Post
Obviously "normal desktop" distros (and apps) don't worry at all about power consumption.
Bare in mind that normal desktop distros are also designed to run on laptops and a laptop mode can be enabled to improve power usage (/proc/sys/vm/laptop_mode), but yes, at least in most software, power consumption is an afterthought.

Originally Posted by sulu View Post
Everything we need is a kernel that supports S2RAM.
The problem with suspend to RAM is that it's not very useful (i.e. you can't receive calls whilst it's suspended without a long wake up time). I'm eager to test Lucid Sleep once it has been mainlined. I think the Neo900 could benefit a lot from something like this.
__________________
DebiaN900 - Native Debian on the N900. Deprecated in favour of Maemo Leste.

Maemo Leste for N950 and N9 (currently broken).
Devuan for N950 and N9.

Mobile devices with mainline Linux support - Help needed with documentation.

"Those who do not understand Unix are condemned to reinvent it, poorly." - Henry Spencer

Last edited by wicket; 2015-05-27 at 00:23. Reason: Clarified usefulness of suspend to RAM.
 

The Following 3 Users Say Thank You to wicket For This Useful Post:
Posts: 15 | Thanked: 43 times | Joined on Feb 2015
#2594
Originally Posted by wicket View Post
Bare in mind that normal desktop distros are also designed to run on laptops and a laptop mode can be enabled to improve power usage (/proc/sys/vm/laptop_mode), but yes, at least in most software, power consumption is an afterthought.



The problem with suspend to RAM is that it's not very useful on a phone (i.e. you can't receive calls whilst it's suspended). I'm eager to test Lucid Sleep once it has been mainlined. I think the Neo900 could benefit a lot from something like this.
Especially for the neo900 s2ram could be useful for hot plugging batteries.

Mith

Last edited by mithrandir; 2015-05-26 at 23:31. Reason: typo
 

The Following 2 Users Say Thank You to mithrandir For This Useful Post:
joerg_rw's Avatar
Posts: 2,222 | Thanked: 12,651 times | Joined on Mar 2010 @ SOL 3
#2595
Originally Posted by mithrandir View Post
Especially for the neo900 s2ram could be useful for hot plugging batteries.

Mith
We'll probably use suspend2disk for that since the originally planned hotswap under "full load" might not be feasible due to size requirements for the buffer capacitors and also they would need a precharge time anyway when we implemented them - same time could as well get used to suspend2disk and swapping batteries is not time critical then anymore. If we would do hot swapping, suspend2ram had no advantage over stopping a few processes resp blocking IRQs and shutting down a few peripherals. That's what maemo is all about, it shuts down peripherals and stops CPU clock whenever possible, you don't need any suspend2whatever for forcing that.

/j

Last edited by joerg_rw; 2015-05-26 at 23:49.
 

The Following User Says Thank You to joerg_rw For This Useful Post:
joerg_rw's Avatar
Posts: 2,222 | Thanked: 12,651 times | Joined on Mar 2010 @ SOL 3
#2596
Originally Posted by wicket View Post
The problem with suspend to RAM is that it's not very useful on a phone (i.e. you can't receive calls whilst it's suspended).
Actually Neo900 modem could wake up CPU from suspend2ram and even suspend2disk on inbound call. The major downside is: it's not only calls that need CPU's attention every now and then, and wake from suspend takes "incredibly long" (in the range up to even a few seconds. Compare that to the two.digit number of wakes from C4 per second, as reported by powertop/zzztop

Code:
IroN900:~# zzztop
WARNING: Only low accuracy timing available.
Detected 1 cpus
Detected 4 cpuidle states (3)
Sleeping for 10 seconds before collecting data for 30 seconds
Actually slept for 29.990s
C-state Information
===================
    |      CPU#0      |
 C# |  time  | avg/ms |
----+--------+--------+
 C0 |   0.8% |        |
 C1 |   0.0% |      0 |
 C2 |   1.1% |      6 |
 C3 |  24.0% |    218 |
 C4 |  74.0% |    569 |

CPUfreq statistics
==================
Frequency |  CPU#0 |
----------+--------+
  250 MHz |  94.3% |
  600 MHz |   5.7% |

Interrupt statistics
====================
 INT | CPU#0 |
-----+-------+
  12 |   224 | INTC  DMA
  37 |   153 | INTC  gp timer
  11 |   111 | INTC  prcm
  56 |    90 | INTC  i2c_omap
  57 |    34 | INTC  i2c_omap
 202 |    22 | GPIO  wl1251
Summary: 21.1 interrupts/s total

Timer statistics
================
   PID | Activity |     task's comm | function
-------+----------+-----------------+---------
     0 |       90 |         swapper | tick_nohz_restart_sched_tick (tick_sched_timer)
    37 |       35D|             awk | cpufreq_governor_dbs (delayed_work_timer_fn)
  2125 |       32 |           xchat | schedule_hrtimeout_range (hrtimer_wakeup)
   541 |       19 |          wl12xx | queue_delayed_work (delayed_work_timer_fn)
     0 |       11 |         swapper | hrtimer_start (tick_sched_timer)
   690 |        3 |            dsme | do_nanosleep (hrtimer_wakeup)
   690 |        3 |            dsme | __enqueue_rt_entity (sched_rt_period_timer)
 21444 |        2 | telepathy-sofia | schedule_hrtimeout_range (hrtimer_wakeup)
  1627 |        2 | hildon-status-m | schedule_hrtimeout_range (hrtimer_wakeup)
   745 |        2 |       bme_RX-51 | sys_timer_settime (posix_timer_fn)
   745 |        2 |       bme_RX-51 | sys_timer_settime (posix_timer_fn)
   745 |        2 |       bme_RX-51 | sys_timer_settime (posix_timer_fn)
   745 |        2 |       bme_RX-51 | sys_timer_settime (posix_timer_fn)
   745 |        2 |       bme_RX-51 | do_nanosleep (hrtimer_wakeup)
   745 |        2 |       bme_RX-51 | schedule_timeout (process_timeout)
    10 |        2 |     omap2_mcspi | neigh_add_timer (neigh_timer_handler)
     1 |        2D|         swapper | queue_delayed_work (delayed_work_timer_fn)
     0 |        2 |         swapper | queue_delayed_work (delayed_work_timer_fn)
 21723 |        1 |           xchat | sk_reset_timer (tcp_write_timer)
 10663 |        1 |          zzztop | do_nanosleep (hrtimer_wakeup)
  1682 |        1 |        wlancond | ieee80211_ioctl_siwpower (ieee80211_dynamic_ps_timer)
  1094 |        1 |     dbus-daemon | schedule_hrtimeout_range (hrtimer_wakeup)
   745 |        1 |       bme_RX-51 | sys_timer_settime (posix_timer_fn)
   714 |        1 |         syslogd | hrtimer_start (it_real_fn)
   541 |        1 |          wl12xx | schedule_timeout (process_timeout)
   541 |        1 |          wl12xx | schedule_timeout (process_timeout)
   541 |        1 |          wl12xx | schedule_timeout (process_timeout)
    29 |        1 |           mount | setup_wb_timer (wb_timer_fn)
    10 |        1 |     omap2_mcspi | neigh_add_timer (neigh_timer_handler)
     1 |        1 |         swapper | queue_delayed_work (delayed_work_timer_fn)
     1 |        1 |         swapper | inet_initpeers (peer_check_expire)

Context switches per task
=========================
  PID  | vol'try | non-vol | Cmdline
-------+---------+---------+--------
 21444 |       8 |       0 | /usr/lib/telepathy/telepathy-sofiasip 
 10663 |       1 |      11 | /usr/bin/perl -w /usr/local/bin/zzztop 
  2660 |       1 |       0 | <pdflush>
  2125 |      33 |       6 | /usr/bin/xchat                                                             
  1627 |       3 |       5 | /usr/bin/hildon-status-menu                                                
  1559 |       1 |       0 | /usr/bin/mission-control 
  1214 |       2 |       0 | /usr/bin/iphbd 
  1094 |       1 |       0 | /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session 
   940 |       5 |       0 | /usr/lib/hal/hald-addon-bme 
   808 |       2 |       4 | /sbin/mce --force-syslog 
   801 |       4 |       0 | /usr/sbin/ohmd --no-daemon 
   774 |       2 |       2 | /usr/sbin/dbus-scripts --system 
   758 |       6 |       6 | /usr/bin/dbus-daemon --system --nofork 
   745 |      67 |       5 | /usr/sbin/bme_RX-51 
   717 |      11 |       0 | /sbin/dsme-server -p /usr/lib/dsme/libstartup.so 
   714 |       1 |       0 | /sbin/syslogd -n 
   690 |       7 |       0 | /sbin/dsme -p /usr/lib/dsme/libstartup.so 
   541 |     365 |       0 | <wl12xx>
    27 |      36 |       0 | <kondemand/0>
    10 |     403 |     176 | <omap2_mcspi>
     4 |       5 |       0 | <events/0>
     3 |     292 |       0 | <ksoftirqd/0>

IroN900:~#

Last edited by joerg_rw; 2015-05-27 at 00:16.
 

The Following 5 Users Say Thank You to joerg_rw For This Useful Post:
Posts: 175 | Thanked: 210 times | Joined on Mar 2013
#2597
Originally Posted by joerg_rw View Post
Originally Posted by Malakai View Post
I only have one doubt... I am not a developer (I only know some really basic bash scripting to do what I need), I am just a Linux user...
Basically so am I
I think that your skills are waaaaaaay better than mine as sometimes I don't fully understand what it is about on this thread like the suspend2disk thing of your last post. And when I say basic bash scripting I mean some if, then, for and while with some commands in between.

And of course I couldn't have started a project like this.... so thank you and everybody making the Neo900 a reality... can't wait to have it in my hands.
 

The Following 3 Users Say Thank You to Malakai For This Useful Post:
Posts: 79 | Thanked: 719 times | Joined on May 2014 @ Buenos Aires, Argentina
#2598
Joerg already posted it in the shop thread, but let me mention it here, too:
the shop is now open (for pre-orders) to the general public:

http://neo900.org/news/the-neo900-sh...for-pre-orders

- Werner
 

The Following 3 Users Say Thank You to wpwrak For This Useful Post:
Posts: 470 | Thanked: 610 times | Joined on Feb 2012
#2599
I have some questions before I make my order:
1. I am not sure is this right way to calculate R&D cost, 160 kEUR / 500=320 EUR. Yes you can get payment for R&D, but I think you should believe that you can sell at least 1000. And you sell that much if prices are about 150 euros less. Because I have add 24% VAT so the total cost is much more than 990 euros to me. Or can I calculate with German VAT if I buy it in EU?
2. And more important question to me, Can that UART console connector use with 31250 baud rate? Is there low level documentation about it somewhere?
 

The Following User Says Thank You to teroyk For This Useful Post:
joerg_rw's Avatar
Posts: 2,222 | Thanked: 12,651 times | Joined on Mar 2010 @ SOL 3
#2600
Originally Posted by teroyk View Post
I have some questions before I make my order:
1. I am not sure is this right way to calculate R&D cost, 160 kEUR / 500=320 EUR. Yes you can get payment for R&D, but I think you should believe that you can sell at least 1000. And you sell that much if prices are about 150 euros less. Because I have add 24% VAT so the total cost is much more than 990 euros to me. Or can I calculate with German VAT if I buy it in EU?
2. And more important question to me, Can that UART console connector use with 31250 baud rate? Is there low level documentation about it somewhere?
For the R&D cost calculation please see Werner's http://neo900.org/estimate - we can't make assumptions based on belief, we need to oparate on hard numbers, with a strategy how to act on all possible outcomes. Regarding VAT please bear with us, this is our very first shop and we haven't sold a single item yet. So sorting out any tax issues is a pending topic and I can't say anything binding regarding that, except "I need to ask my tax adviser".

Regarding the UART: yes it should operate on the 38kbd range, without any problems. It's a pretty normal UART. I can't tell about particularly 31250 baud rate without checking back in TRM of DM3730, it sounds a tad odd and I don't know if the UART clock supports this precise unusual non-power2 frequency. For low level documentation please see "Hackerbus" on http://neo900.org/resources as well as schematics, IR-whitepaper and the DM3730 TRM (refer to "Blockdiagram" in http://neo900.org/resources)

cheers
jOERG

[edit]
Oh, I just realized that 31250 baud is MIDI. Well, that should be quite usual then and supported by almost all UARTs
So here's the relevant quote from SWPU223M:
The UARTs (UART1, UART2, and UART3 when in UART mode) include the following key features:
• 16C750 compatibility
• 64-byte FIFO for receiver and 64-byte FIFO for transmitter
• Programmable interrupt trigger levels for FIFOs
• Baud generation based on programmable divisors N (N = 1...16,384) operating from a fixed functional
clock of 48 MHz
Oversampling is programmed by software as 16 or 13; thus, the baud rate computation is either:
• Baud rate = (functional clock/16)/N
• Baud rate = (functional clock/13)/N
48Mhz/16/96=31250

Last edited by joerg_rw; 2015-06-04 at 06:08.
 

The Following 6 Users Say Thank You to joerg_rw For This Useful Post:
Reply

Tags
neo900, thank you!


 
Forum Jump


All times are GMT. The time now is 21:58.