Faits: A. Par jugement du 22 janvier 2009, le Tribunal correctionnel de l'arrondissement de Lausanne a reconnu X._ coupable de fausse alerte, de brigandage, d'escroquerie, d'injure et d'opposition aux actes de l'autorité. Il a condamné l'intéressé à une peine privative de liberté de 22 mois, sous déduction de 34 jours de détention avant jugement, et à une peine pécuniaire de 20 jours-amende, le montant du jour-amende étant fixé à 10 fr., peine partiellement complémentaire à celle prononcée le 23 novembre 2007 par le Juge d'instruction de Lausanne. Il a suspendu l'exécution d'une partie de la peine portant sur 16 mois de peine privative de liberté et sur dix jours-amende et a fixé à X._ un délai d'épreuve de trois ans. Il a renoncé à révoquer le sursis accordé le 10 novembre 2003 par le Bezirksanwaltschaft C-4 Zürich. Il a en revanche révoqué le sursis octroyé le 23 novembre 2007 par le Juge d'instruction de Lausanne et ordonné l'exécution de la peine pécuniaire de dix jours-amende. B. Statuant le 5 juin 2009, la Cour de cassation pénale du Tribunal cantonal vaudois a rejeté le recours formé par X._ et confirmé le jugement de première instance. En substance, cet arrêt retient les faits suivants: A Bâle, le 16 juin 2005, X._, né en 1984, a déposé une demande d'aide sociale auprès de l'autorité compétente, ce en omettant d'annoncer l'activité lucrative qu'il exerçait alors. Il a ainsi indûment touché l'aide sociale à hauteur de 2'836 fr. 75 pour la période du 16 juin au 31 août 2005. A Lausanne, le 9 mars 2006, il a, en compagnie d'un comparse, dérobé la bourse d'un chauffeur de taxi. Les auteurs ont agressé physiquement leur victime, âgée de plus de septante ans. A la gare d'Olten, le 19 juin 2006, après qu'un employé lui eut refusé l'octroi d'un nouvel abonnement général de remplacement, X._ a appelé la police en donnant une fausse identité et en indiquant qu'il avait été poignardé et qu'il gisait apeuré et ensanglanté à côté de la voie 4. Une ambulance et deux patrouilles de police se sont immédiatement rendues sur les lieux. A Zurich, le 8 octobre 2006, lors d'un contrôle effectué par la police municipale, X._ n'a pas accepté qu'un agent fouille ses poches après avoir vérifié le permis C dont il était porteur. Il a fallu l'intervention de six policiers pour le maîtriser et l'acheminer au poste. A Lausanne, le 5 janvier 2008, il a traité deux employées de guichet de la gare CFF de "sales putes", "grosses vaches" et "putains". Ces agissements ont duré entre 15 et 20 minutes. C. Contre cet arrêt cantonal, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut, principalement, à l'octroi d'un sursis total et, à titre subsidiaire, à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'autorité cantonale pour nouvelle décision. En outre, il sollicite l'assistance judiciaire.